2

我们正在努力通过 API 挖掘今年的所有时间记录。

我们试图包含:dont_limit_resultGET 变量并将其设置为 1,但它对我们没有帮助。

我们使用的版本是 ACTIVE COLLAB 5.11.0,我们点击的 URL:projects?dont_limit_result=1&page=$page

请给我一些关于如何进行的建议。

4

2 回答 2

0

我正在使用 php API wrapper 3.0 - 我如何让标题返回以知道还有更多页面,然后获取更多页面的正确查询形式是什么?

例如我的基本查询是:

$timeRecords = $client->get('projects/22/time-records')->getJson();

获取时间记录 - 但这只会返回 100 并且还有更多!

谢谢,

于 2016-10-11T09:53:23.067 回答
0

大多数 API 响应都是分页的,并且不能使用 GET 开关关闭分页。相反,您应该检查以下标题:

  • X-Angie-PaginationCurrentPage- 表示当前页面
  • X-Angie-PaginationItemsPerPage- 表示每页的项目数
  • X-Angie-PaginationTotalItems- 表示整个数据集中的项目数。

并遍历页面,直到到达数据集的末尾。

另一种选择是尝试项目的过滤器。这是一个将返回所有项目的示例请求:

curl -H "X-Angie-AuthApiToken: YOUR-API-TOKEN" "http://your.activecollab.com/api/v1/reports/run?type=ProjectsFilter"

这将返回所有活动项目:

curl -H "X-Angie-AuthApiToken: YOUR-API-TOKEN" "http://your.activecollab.com/api/v1/reports/run?type=ProjectsFilter&completed_on_filter=is_not_set"
于 2016-10-06T12:54:37.707 回答