我使用 Activecollab V5(自托管),我想通过 API 提取数据。我在这里阅读了 API 文档
问题是我不知道如何使用它。我需要知道如何生成令牌以及如何在上述文档中向 API 端点发出请求。有人可以帮忙吗?. 谢谢 。
我使用 Activecollab V5(自托管),我想通过 API 提取数据。我在这里阅读了 API 文档
问题是我不知道如何使用它。我需要知道如何生成令牌以及如何在上述文档中向 API 端点发出请求。有人可以帮忙吗?. 谢谢 。
这完全取决于您计划用于访问 API 的语言。
我们使用 PHP 并使用AC 自己提供的Feather SDK来完成繁重的工作。自述文件提供了一个很好的入门示例。
我相信还有其他适用于不同语言的 SDK。
包含它后,您可以按照文档中的说明运行查询。不过也有一些陷阱,因为文档并没有透露所有内容,而只是为您提供了特定的用例。
例如,API 每页返回约 100 个结果,但没有指示存在第二页,因此如果结果等于 100,则可能有更多要检索的结果。
我在我的应用程序中创建了这个 PHP 函数来帮助我获取所有记录。它不断请求下一页,直到没有更多内容需要处理。
传入的$url
参数类似于projects
or 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;
}
希望有帮助!