0

我使用 Activecollab V5(自托管),我想通过 API 提取数据。我在这里阅读了 API 文档

API 文档

问题是我不知道如何使用它。我需要知道如何生成令牌以及如何在上述文档中向 API 端点发出请求。有人可以帮忙吗?. 谢谢 。

4

1 回答 1

0

这完全取决于您计划用于访问 API 的语言。

我们使用 PHP 并使用AC 自己提供的Feather SDK来完成繁重的工作。自述文件提供了一个很好的入门示例。

我相信还有其他适用于不同语言的 SDK。

包含它后,您可以按照文档中的说明运行查询。不过也有一些陷阱,因为文档并没有透露所有内容,而只是为您提供了特定的用例。

例如,API 每页返回约 100 个结果,但没有指示存在第二页,因此如果结果等于 100,则可能有更多要检索的结果。

我在我的应用程序中创建了这个 PHP 函数来帮助我获取所有记录。它不断请求下一页,直到没有更多内容需要处理。

传入的$url参数类似于projectsor 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;
}

希望有帮助!

于 2017-10-11T08:38:33.303 回答