亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

La pagination de l'API Google Drive PHP ne fonctionne pas lors de l'utilisation de différentes requêtes
P粉993712159
P粉993712159 2023-09-06 15:00:23
0
1
685

J'utilise l'API Google Drive PHP dans le projet Laravel (v9.0). Concernant la pagination, j'espère avoir le processus suivant :

  1. Récupérez la première page du fichier et remettez-la au début
  2. Lorsque l'utilisateur fait défiler vers le bas de la page, le front-end demande la page de fichiers suivante?;
  3. Le backend re?oit la requête et obtient la page correspondante de l'API Google Drive.
Le problème auquel je suis confronté est que lorsque le frontend demande la page suivante (dans l'exemple ci-dessous,

Voici le code que j'utilise?: pageToken 具有之前 Google Drive 調(diào)用中的 nextPageToken 值) ,Google 將引發(fā)錯誤:代碼:400,消息:無效值,位置:pageToken).

$pageToken = request()->input('pageToken');

$optParams = [
    'q' => '' . $parentQuery,
    'pageSize' => $paginateSize,
    'fields' => 'nextPageToken, files(id, name, parents)',
];

if ($pageToken) {
    $optParams['pageToken'] = $pageToken;
}

$response = $this->service->files->listFiles($optParams);

Cependant, si je récupère toutes les pages avant de revenir au backend, cela semble fonctionner?:

$optParams = [
    'q' => '' . $parentQuery,
    'pageSize' => $paginateSize,
    'fields' => 'nextPageToken, files(id, name, parents)',
];

$files = [];

do {
    $results = $this->service->files->listFiles($optParams);

    $files = array_merge($files, $results->getFiles());

    $pageToken = $results->getNextPageToken();

    if ($pageToken) {
        $optParams['pageToken'] = $pageToken;
    }

} while ($pageToken);

Je ne comprends peut-être pas comment la pagination est utilisée dans l'API Google Drive, mais existe-t-il un moyen de paginer le contenu comme dans mon premier exemple??

P粉993712159
P粉993712159

répondre à tous(1)
P粉546138344

Utilisez les fonctions isset et empty pour vérifier si la valeur pageToken est valide

$pageToken = request()->input('pageToken');

$optParams = [
    'q' => '' . $parentQuery,
    'pageSize' => $paginateSize,
    'fields' => 'nextPageToken, files(id, name, parents)',
];

if (isset($pageToken) && !empty($pageToken)) {
    $optParams['pageToken'] = $pageToken;
}

$response = $this->service->files->listFiles($optParams);
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal