API分页和速率限制

时间:2020-04-21 16:16:19

标签: activecollab

我在https://developers.activecollab.com/api-documentation/找不到有关API分页或速率限制的信息

如果我们获取太多数据,我们可以拨打多少电话,并且分页存在吗?

1 个答案:

答案 0 :(得分:0)

许多ActiveCollab API端点是分页的,但不是全部。您可以通过观察响应中的X-Angie-PaginationCurrentPageX-Angie-PaginationItemsPerPageX-Angie-PaginationTotalItems标头来检测分页数据集。这些标题出现在所有分页响应中,它们描述了如何设置分页(每页项目数)以及数据集中有多少项目。

通过在API请求查询中添加page对数据进行分页,例如:/api/v1/paginated-resources?page=12

对分页数据集有两种常见且实用的方法:

  1. 根据分页标题逐页浏览
  2. 在查询字符串中输入循环和渐增page值,直到得到空结果(没有数据的页面不会报错,但返回空数据集)。

此#2原理示例,以防万一,限制为1000页:

$page = 0;

do {
    $response = $this->makeRequest(
        sprintf(
            '/api/v1/paginated-resource?page=%d', 
            ++$page
        )
    );

    // Do something with response
} while (!empty($response) && $page < 1000);