Penomboran API PHP Google Drive tidak berfungsi apabila menggunakan permintaan yang berbeza
P粉993712159
P粉993712159 2023-09-06 15:00:23
0
1
525

Saya menggunakan API PHP Google Drive dalam projek Laravel (v9.0). Berkenaan paging, saya harap ada proses berikut:

  1. Dapatkan halaman pertama fail dan kembalikan ke bahagian hadapan
  2. Apabila pengguna menatal ke bahagian bawah halaman, bahagian hadapan meminta halaman seterusnya bagi fail
  3. Bahagian belakang menerima permintaan dan mendapat halaman yang sepadan daripada API Google Drive.

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?

P粉993712159
P粉993712159

membalas semua(1)
P粉546138344

Gunakan fungsi isset dan kosong untuk menyemak sama ada nilai pageToken adalah sah

$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);
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!