我正在尝试更新子任务。更具体地说,就是截止日期。 我尝试了几件事但都失败了。 这是我到目前为止所尝试的:
尝试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
答案 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与你合作 - 小世界!如果没有,不用担心,随意忽略!