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

如何通过Workfront API为任务添加Hour对象?技术问题咨询

解决Workfront API创建Hour对象关联Task的问题

我之前也被Workfront这模糊的文档坑过!咱们一步步来搞定你的问题:

1. 创建Hour对象失败(返回ID: null)的原因及修复

你当前的请求漏掉了必填的用户关联字段——Workfront的工时记录必须绑定到具体用户(谁记录的工时),同时还有一种更可靠的关联Task的方式:

方式一:补充必填的userID字段

修改POST请求体,添加userID(可以是你调用API的用户ID,或者需要记录工时的目标用户ID):

{
  "objCode": "HOUR",
  "entryDate": "2018-01-18",
  "hours": 1,
  "status": "SUB",
  "taskID": "<task id>",
  "userID": "<your user id>"
}

方式二:通过Task资源的子端点创建(更推荐)

直接通过Task的专属端点创建关联的Hour,Workfront会自动帮你绑定Task,不用手动传taskID:

POST https://company.attask-ondemand.com/attask/api/v7.0/task/<task ID>/hour?apiKey=<api key>

请求体可以简化为:

{
  "objCode": "HOUR",
  "entryDate": "2018-01-18",
  "hours": 1,
  "status": "SUB",
  "userID": "<your user id>"
}

2. 查询Hour时看不到taskID的解决办法

Workfront API默认只返回对象的核心字段,关联字段(比如taskID)需要显式指定返回。修改你的GET请求,加上fields参数:

GET https://company.attask-ondemand.com/attask/api/v7.0/hour/search?taskID=<task ID>&apiKey=<api key>&fields=ID,objCode,entryDate,hours,status,taskID

这样返回的结果里就会出现taskID字段了。

额外排查点

  • 确认你的API密钥拥有工时记录权限,以及对目标Task的编辑/工时记录权限;
  • 检查taskID和userID是否是Workfront系统中有效的ID(通常是大写字母+数字的组合,没有多余符号);
  • 如果还是失败,可以在请求URL后加&debug=true参数,Workfront会返回更详细的错误信息,帮你快速定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:42:35