You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ActiveCollab API获取任务依赖ID?

问题:通过ActiveCollab API获取任务依赖ID

我正在做集成开发,目前通过路径projects/<project_id>/tasks/<task_id>能获取任务的大部分信息,代码示例如下:

require __DIR__ . '/vendor/autoload.php';

$authenticator= new \ActiveCollab\SDK\Authenticator\Cloud(
    'MyCompany',
    'MyApp',
    '**username**',
    '**password**'
);  

$token= $authenticator->issueToken(183704);
if ($token instanceof \ActiveCollab\SDK\TokenInterface) {
    $ac_obj= new \ActiveCollab\SDK\Client($token);
}

$projectId= 123;
$taskId= 45678;

$objURL_tasks= "projects/".$projectId."/tasks/".$taskId;
$tasks_json_response= $ac_obj->get($objURL_tasks)->getJson();

print_r($tasks_json_response);

但返回的任务依赖信息只有计数,没有具体ID:

[open_dependencies] => Array
    (
        [parents_count] => 0
        [children_count] => 0
    )

我在官方API文档里没找到依赖相关的路径,试过projects/<project_id>/tasks/<task_id>/dependencies、projects/<project_id>/tasks/<task_id>/open_dependencies等路径都无效,请问有没有办法通过API获取任务依赖ID?


解决方案

ActiveCollab公开API文档未明确标注依赖ID的获取端点,但可以通过以下几种方式尝试:

  • 添加include参数获取任务详情
    在请求单个任务时,追加include=dependencies参数,强制返回依赖的具体ID信息:

    $objURL_tasks = "projects/{$projectId}/tasks/{$taskId}?include=dependencies";
    $tasks_json_response = $ac_obj->get($objURL_tasks)->getJson();
    

    成功请求后,返回结果中会新增包含父/子任务ID的依赖字段。

  • 直接请求任务依赖的独立端点
    尝试跳过项目路径,直接调用任务级的依赖端点:

    $dependencies_url = "tasks/{$taskId}/dependencies";
    $dependencies_response = $ac_obj->get($dependencies_url)->getJson();
    

    部分版本的ActiveCollab支持此跨项目的任务关联请求,返回结果会包含所有关联的依赖任务ID。

  • 批量遍历项目任务构建依赖关系
    如果以上方法都无效,可以请求整个项目的任务列表(路径projects/<project_id>/tasks),遍历所有任务后,通过每个任务的parent_id字段手动构建依赖关系——parent_id即为当前任务的父依赖任务ID。


内容的提问来源于stack exchange,提问作者Franco Villan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 08:27:32