首页 > 解决方案 > 谷歌驱动器分页不起作用。获取对成员函数 getNextPageToken() 的调用

问题描述

我在驱动器上有大约 800 个文件。但是我正在调用成员函数 getNextPageToken() 。如果我将 pageSize 设置为更高,我可以获得所有文件。我想每页显示 20 个。我怎么才能得到它。

    'fields'  => 'files(id, name, modifiedTime, mimeType, parents), nextPageToken',

$files->getNextPageToken();

标签: phpgoogle-drive-api

解决方案


您可以使用可选参数pageSize

样本:

$optParams = array(
  'pageSize' => 20,
  'fields' => 'files(id, name, modifiedTime, mimeType, parents), nextPageToken'
);
$results = $service->files->listFiles($optParams);

另请参阅Drive API 的 PHP 快速入门

更新:如何遍历所有页面nextPageToken

var files = []
var nextToken;
gapi.client.drive.files.list({ 
    'pageSize': 20,
    'fields' => 'files(id, name, modifiedTime, mimeType, parents), nextPageToken'
}).then(function(response) {
    nextToken = response.result.nextPageToken;
    files.push(...response.result.files)
    while (nextToken) {
        gapi.client.drive.files.list({
            'nextPage': nextToken,  
            'pageSize': 20,
             'fields' => 'files(id, name, modifiedTime, mimeType, parents), nextPageToken'
        }).then(function(response) {
            nextToken = response.result.nextPageToken;
            files.push(...response.result.files)
        })
    }
});

推荐阅读