首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ActiveCollab V5 API

如何使用ActiveCollab V5 API
EN

Stack Overflow用户
提问于 2017-09-28 22:36:17
回答 1查看 386关注 0票数 0

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

API Documentation

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

EN

回答 1

Stack Overflow用户

发布于 2017-10-11 16:38:33

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

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

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

一旦包含了它,您就可以按照文档中描述的那样运行查询。但是有一些陷阱,因为文档并没有揭示所有的东西,只给出了具体的用例。

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

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

传入的$url参数类似于projectsprojects/archive

代码语言:javascript
复制
/**
 * 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;
}

希望这能有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46471829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档