如何使用ActiveCollab V5 API

时间:2017-09-28 14:36:17

标签: activecollab

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

API Documentation

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

1 个答案:

答案 0 :(得分:0)

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

我们使用PHP并进行繁重的工作,我们使用AC自己提供的Feather SDK。自述文件提供了一个如何开始的好例子。

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

如果您已将其包含在内,则可以按照文档中的说明运行查询。但是有一些问题,因为文档没有透露所有内容,只给出了具体的用例。

例如,API每页返回约100个结果,但没有任何迹象表明存在第二个页面,因此如果结果等于100,则可能还有更多要检索的内容。

我已经在我的应用程序中创建了这个PHP函数来帮助我获取所有记录。它一直在请求下一页,直到没有其他内容可以处理。

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

希望有所帮助!