我正在开发一个简单的应用程序来消耗一些G Suite API的数据 (管理SDK, 驱动器, Gmail等)。)
G Suite API端点允许 list
方法(针对集合)提供的查询响应如下(不同API的内容可能不同)。
{
"kind": "admin#directory#users",
"etag": "\"WczyXiapC9UmAQ6oKabcde6P59w-7argQ83zwDwKoUE/zsH-hyZTP1lFsB3-wabK4_8VXMk\"",
"users": [
{
"kind": "admin#directory#user",
"id": "137674315191655104007",
"etag": "\"WczyXiapC9..."
...
},
...
# N elements of type 'user', where N <= maxResults,
# being <maxResults>, the maximum number of elements in the response per query.
# <maxResults> has a system default value.
]
}
为了得到该API中可供消费的元素总数,我可能会遇到以下情况。
如果可用元素的总数小于或等于以下情况,则进行一次查询 maxResults
.
如果可用元素的总数大于或等于1个以上。maxResults
.
当第二种情况发生时,G Suite API会返回一个分页标记,我将在连续的查询中使用这个标记来检索更多的页面,最多可以有一个分页标记。maxResults
元素。
一旦我消耗了所有的元素,我可以得到总数。
我的问题是。
是否可以通过一个API调用来获取查询中的元素总数(只是整数值),从而避免分页?
谢谢您的回答。
如果一个方法包含一个叫做MaxResults的参数,那是因为它有一个调用可以返回的最大行数。
如果你看一下Google drive api file.list方法的文档的话
每页返回的最大文件数。即使在文件列表结束之前,也可能出现部分或空的结果页。可接受的值是1到1000,包括在内。(默认值:100)
这意味着它最多可以返回1000个文件,然后你需要分页。 在api中没有办法绕过这个限制。