如何在单个G Suite API查询中获取项目总数?

问题描述 投票:0回答:1

我正在开发一个简单的应用程序来消耗一些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中可供消费的元素总数,我可能会遇到以下情况。

  1. 如果可用元素的总数小于或等于以下情况,则进行一次查询 maxResults.

  2. 如果可用元素的总数大于或等于1个以上。maxResults.

当第二种情况发生时,G Suite API会返回一个分页标记,我将在连续的查询中使用这个标记来检索更多的页面,最多可以有一个分页标记。maxResults 元素。

一旦我消耗了所有的元素,我可以得到总数。

我的问题是。

是否可以通过一个API调用来获取查询中的元素总数(只是整数值),从而避免分页?

谢谢您的回答。

python google-drive-api gsuite
1个回答
1
投票

是否可以通过一个API调用来检索查询中的元素总数(只是整数值),从而避免分页?

如果一个方法包含一个叫做MaxResults的参数,那是因为它有一个调用可以返回的最大行数。

如果你看一下Google drive api file.list方法的文档的话

每页返回的最大文件数。即使在文件列表结束之前,也可能出现部分或空的结果页。可接受的值是1到1000,包括在内。(默认值:100)

这意味着它最多可以返回1000个文件,然后你需要分页。 在api中没有办法绕过这个限制。

© www.soinside.com 2019 - 2024. All rights reserved.