Google drive api 驱动器REST API提供的结果不超过100个
我尝试了驱动器RESTAPI来获取我的共享文件。 我无法得到超过100个结果。我正在使用授权:Google drive api 驱动器REST API提供的结果不超过100个,google-drive-api,Google Drive Api,我尝试了驱动器RESTAPI来获取我的共享文件。 我无法得到超过100个结果。我正在使用授权: 这是默认的结果量。您需要提供maxResults查询参数 -你看了吗?这是默认的结果量。您需要提供maxResults查询参数 -您看过了吗?正如@rorschach所说,您需要使用查询参数 要返回的最大文件数。可接受的值为0到1000,包括0到1000。(默认值:100) 如本文所述,您可以通过设置MaxResults将每页返回的记录数设置为1000。确保您正确配置了它。下面是一个示例代码: Fi
这是默认的结果量。您需要提供
maxResults
查询参数
-你看了吗?这是默认的结果量。您需要提供
maxResults
查询参数
-您看过了吗?正如@rorschach所说,您需要使用查询参数 要返回的最大文件数。可接受的值为0到1000,包括0到1000。(默认值:100) 如本文所述,您可以通过设置
MaxResults
将每页返回的记录数设置为1000。确保您正确配置了它。下面是一个示例代码:
FilesResource.ListRequest request = service.Files.List();
request.MaxResults = 1000;
FileList files = request.Execute();
但是如果你的谷歌硬盘上有超过1000个文件和目录,那么你需要使用Nextpage
。您可以在上面提供的教程中查看示例代码
编辑:如果使用API v3,则属性为
PageSize
,而不是上述教程中提到的MaxResults
。设置页面标记是相同的。正如@rorschach所述,您需要使用查询参数
要返回的最大文件数。可接受的值为0到1000,包括0到1000。(默认值:100)
如本文所述,您可以通过设置MaxResults
将每页返回的记录数设置为1000。确保您正确配置了它。下面是一个示例代码:
FilesResource.ListRequest request = service.Files.List();
request.MaxResults = 1000;
FileList files = request.Execute();
但是如果你的谷歌硬盘上有超过1000个文件和目录,那么你需要使用Nextpage
。您可以在上面提供的教程中查看示例代码
编辑:如果使用API v3,则属性为
PageSize
,而不是上述教程中提到的MaxResults
。设置页面标记是相同的。正确的答案是,您需要监视nextPageToken并保持获取结果,直到nextPageToken未定义/null正确的答案是,您需要监视nextPageToken并保持获取结果,直到nextPageToken未定义/null我将复制并粘贴相同的响应我写道
我也面临同样的问题,所以我做了一些测试,我发现:
- 如果我尝试使用files.list字段:“files,nextpGetOken”,我只会得到100个文件
- 如果我尝试使用files.list字段:“files(name,id等,parents),nextPageToken”,我会得到460个文件
- 如果我尝试使用带有字段的files.list:“files(name,id等),nextPageToken”而不使用父字段,我会得到1000个文件
- 如果我尝试使用files.list字段:“files(parents),nextpGetOken”,我会得到460个文件
因此,这似乎取决于您请求的字段数量,以及请求的字段之一是否为父字段。我将复制并粘贴我编写的相同响应 我也面临同样的问题,所以我做了一些测试,我发现:
- 如果我尝试使用files.list字段:“files,nextpGetOken”,我只会得到100个文件
- 如果我尝试使用files.list字段:“files(name,id等,parents),nextPageToken”,我会得到460个文件
- 如果我尝试使用带有字段的files.list:“files(name,id等),nextPageToken”而不使用父字段,我会得到1000个文件
- 如果我尝试使用files.list字段:“files(parents),nextpGetOken”,我会得到460个文件
因此,这似乎取决于您请求的字段数量,以及请求的字段之一是否为父字段。我的完整示例代码:
// This requires the Drive API To be turned on in the Advanced Google Services
function countFilesInFolder() {
var folderid = DriveApp.getFoldersByName("html").next().getId();
var query = 'trashed = false and "' + folderid + '"' + " in parents and title contains 'json'"// mimeType ="application/json"';
var pageToken = null;
var filesInFolder = Drive.Files.list({
q: query,
maxResults: 1000,
pageSize: 1000,
pageToken: pageToken,
});
pageToken = filesInFolder.nextPageToken;
var cards = filesInFolder.items.length;
while (pageToken != null) {
filesInFolder = Drive.Files.list({
q: query,
maxResults: 1000,
pageSize: 1000,
pageToken: pageToken,
});
cards = cards + filesInFolder.items.length;
pageToken = filesInFolder.nextPageToken;
}
Logger.log("filesInFolder: " + cards);
}
我的完整示例代码如下:
// This requires the Drive API To be turned on in the Advanced Google Services
function countFilesInFolder() {
var folderid = DriveApp.getFoldersByName("html").next().getId();
var query = 'trashed = false and "' + folderid + '"' + " in parents and title contains 'json'"// mimeType ="application/json"';
var pageToken = null;
var filesInFolder = Drive.Files.list({
q: query,
maxResults: 1000,
pageSize: 1000,
pageToken: pageToken,
});
pageToken = filesInFolder.nextPageToken;
var cards = filesInFolder.items.length;
while (pageToken != null) {
filesInFolder = Drive.Files.list({
q: query,
maxResults: 1000,
pageSize: 1000,
pageToken: pageToken,
});
cards = cards + filesInFolder.items.length;
pageToken = filesInFolder.nextPageToken;
}
Logger.log("filesInFolder: " + cards);
}
是的,我尝试了maxResults=1000,但仍然得到了100个结果,尽管我有100多个文件。这个答案和@adjuremods的答案都不正确。增加maxResults(比如说1000)并不能保证返回1000个结果。它是“maxResults”而不是“numResults”,所以它只是一个最大值。驱动器可以在第一批中愉快地返回0个结果。显然,您不能查询比实际存在的更多的结果/文件。他在问题中明确指出,他有>100个文件,在这种情况下,maxResults就是他所需要的。是的,我尝试了maxResults=1000,但仍然得到了100个结果,尽管我有100多个文件。这个答案和@adjuremods的答案都不正确。增加maxResults(比如说1000)并不能保证返回1000个结果。它是“maxResults”而不是“numResults”,所以它只是一个最大值。驱动器可以在第一批中愉快地返回0个结果。显然,您不能查询比实际存在的更多的结果/文件。他在问题中明确表示,他有超过100个文件,在这种情况下,maxResults就是他所需要的。仅代码的答案通常可以通过添加对其工作方式和原因的解释来改进。仅代码的答案通常可以通过添加对其工作方式和原因的解释来改进。