ASANA API如何更新子任务

时间:2017-02-03 16:49:54

标签: asana asana-api

我正在尝试更新子任务。更具体地说,就是截止日期。 我尝试了几件事但都失败了。 这是我到目前为止所尝试的:

尝试1: 网址:https://app.asana.com/api/1.0/tasks/ JSON:{"数据":{" due_on":" 6/18/2017 12:00:00 AM"}} 错误:远程服务器返回错误:(400)错误请求。

尝试2:为JSON请求添加了父ID 网址:/ tasks / JSON:出于安全原因屏蔽了ParentID {"数据":{" due_on":" 6/18/2017 12:00:00 AM"," parent":{& #34; ID":################,"名称":空}}} 错误:远程服务器返回错误:(400)错误请求。

尝试3:在URL中使用/子任务 URL:/ tasks //子任务/ JSON:{"数据":{" due_on":" 6/18/2017 12:00:00 AM"}} 错误:远程服务器返回错误:(404)Not Found

发送JSON请求的正确URL应该是什么以及修改子任务截止日期的请求应该包含哪些内容?

非常感谢任何帮助。 谢谢 VIV

1 个答案:

答案 0 :(得分:1)

的Vivek,

我注意到的第一件事是,网址并不包含您尝试更新的任务的ID - 我不确定这是否是问题中的复制粘贴遗漏,但如果没有,并且您使用的网址没有任务的ID,我们就不知道您尝试设置截止日期的任务 - 以便是你看到的一件事:)

此外,我还要验证您是否正在使用HTTP动词PUT来处理这些请求;您可以在Asana中POST新任务,但要更改现有任务的字段,我们期望PUT。由于子任务在Asana中计为任务,因此可以针对https://app.asana.com/api/1.0/tasks/:task_id路径

执行此操作

还有一件事:在Asana中设置截止日期或截止时间实际上是两个单独的事情 - 大多数任务都设置了截止日期,但在我们的网络应用程序中,您可以选择在设置截止日期时添加时间。这在我们的API中由日期due_on字段和时间due_at表示。如果您只想要到期日期(由时间是12:00 AM推断),您可能需要due_on和格式为YYYY-MM-的字符串DD(在这种情况下,2017/06/18)。如果要设置实际时间,可以将due_at与ISO8601时间戳一起使用,例如2017-06-18T08:00:00Z

总而言之,我在这里测试了一个卷曲请求" due_at"保持时间方面:

curl --request PUT \
--header "Authorization: Bearer $ASANA_PERSONAL_ACCESS_TOKEN" \
"https://app.asana.com/api/1.0/tasks/$TASK_ID" -d '{
  "data": {
    "due_at": "2017-06-08T12:00:00Z"
  }
}'

最后,完全不相关:你碰巧是Vivek Patel目前为Yelp工作吗?如果是这样,我曾经在Sharpcast与你合作 - 小世界!如果没有,不用担心,随意忽略!