2016-10-03 66 views
2

我们正在努力通过API挖掘今年的所有时间记录。无法通过API检索无限数量的记录

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

我们使用的版本是活动的协同合作5.11.0,我们打的网址:projects?dont_limit_result=1&page=$page

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

+0

是否使用的是主动协同合作的版本? Active Collab 5不支持该参数,而v4则支持该参数,因此版本号与此处相关。另外,告诉我你打哪个API URL的请求。请更新您的问题,我们会尽快回复。 – Ilija

+0

我们使用的版本是ACTIVE COLLAB 5.11.0,我们正在打的网址:projects?dont_limit_result = 1&page = $页面 – Karol

+0

答案已发布。如果有帮助,请接受答案,以便SO的其他访问者知道这是一个正确的答案(或者建议如何改进答案)。 – Ilija

回答

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" 
+0

两个卷曲命令返回空数组“[]”与curl尝试也用PHP API – Karol

0

我使用PHP API封装3.0 - 我如何得到头回知道有更多页面,然后查询的正确形式是什么以获得更多页面?

例如我的基本的查询是:

$ timeRecords = $客户 - >获取( '项目/ 22 /时间记录') - >的getJSON();

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

感谢,

P