使用不同请求时 Google Drive PHP API 分页不起作用
P粉993712159
P粉993712159 2023-09-06 15:00:23
0
1
359

我在 Laravel (v9.0) 项目中使用 Google Drive PHP API。关于分页,我希望有以下流程:

  1. 获取文件第一页并返回给前端;
  2. 当用户滚动到页面底部时,前端请求下一页文件;
  3. 后端接收请求并从 Google Drive API 获取相应的页面。

我面临的问题是,当前端请求下一页时(在下面的示例中,pageToken 具有之前 Google Drive 调用中的 nextPageToken 值) ,Google 将引发错误:代码: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);

但是,如果我在返回后端之前获取所有页面,它似乎可以工作:

$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);

我可能误解了 Google Drive API 中分页的使用方式,但是有没有一种方法可以像我的第一个示例中那样对内容进行分页?

P粉993712159
P粉993712159

热门教程
더>
最新下载
더>
网站特效
网站源码
网站素材
프론트엔드 템플릿
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!