我使用Activecollab V5 (自托管),我想通过API拉取数据。我已经阅读了这里的API文档
问题是我不知道如何使用它。在上面的文档中,我需要知道如何生成令牌以及如何向API端点发出请求。有人能帮个忙吗?谢谢。
发布于 2017-10-11 16:38:33
这完全取决于您计划用来访问API的语言。
我们使用PHP并使用AC自己提供的Feather SDK来完成繁重的任务。自述文件提供了一个很好的入门示例。
我相信有其他的SDK可用于不同的语言。
一旦包含了它,您就可以按照文档中描述的那样运行查询。但是有一些陷阱,因为文档并没有揭示所有的东西,只给出了具体的用例。
例如,API每页返回约100个结果,但没有指示存在第二个页,因此如果结果等于100,则可能需要检索更多结果。
我已经在我的应用程序中创建了这个PHP函数来帮助我获取所有记录。它不断地请求下一页,直到没有更多的东西需要处理。
传入的$url参数类似于projects或projects/archive。
/**
* Get pages of data with passed url
* @param [string] $url The api endpoint
* @return [array] All your data
*/
function getPagedData($url) {
// Get all the projects in active collab
$page = 1;
$paged_records = array();
$paged_records_results = $this->activeCollabClient->get($url . '?page=' . $page)->getJson();
$paged_records = array_merge($paged_records, $paged_records_results);
// Loop through pages
while ($paged_records_results = $this->activeCollabClient->get($url . '?page=' . ++$page)->getJson()) {
$paged_records = array_merge($paged_records, $paged_records_results);
}
return $paged_records;
}希望这能有所帮助!
https://stackoverflow.com/questions/46471829
复制相似问题