Saya menggunakan API PHP Google Drive dalam projek Laravel (v9.0). Berkenaan paging, saya harap ada proses berikut:
Masalah yang saya hadapi ialah apabila bahagian hadapan meminta halaman seterusnya (dalam contoh di bawah, pageToken
具有之前 Google Drive 调用中的 nextPageToken
值) ,Google 将引发错误:代码:400,消息:无效值,位置:pageToken
Di bawah ialah kod yang saya gunakan:
$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);
Walau bagaimanapun, jika saya mendapat semua halaman sebelum kembali ke bahagian belakang, ia nampaknya berkesan:
$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);
Saya mungkin salah faham cara penomboran digunakan dalam API Google Drive, tetapi adakah terdapat cara untuk menomborkan kandungan seperti dalam contoh pertama saya?
Gunakan fungsi isset dan kosong untuk menyemak sama ada nilai pageToken adalah sah