2017-02-03 87 views
1

我正在尝试更新子任务。更具体的只是到期日。 我尝试过几件事情,但都失败了。 这是我到目前为止已经试过:ASANA API如何更新子任务

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

尝试2:新增父ID以JSON请求 网址:/任务/ JSON:PARENTID被屏蔽出于安全原因 { “数据”:{ “due_on”:“2017年6月18日12:00: 00“,”parent“:{”id“:################,”name“:null}}} 错误:远程服务器返回错误:(400 ) 错误的请求。

尝试3:使用/子任务在URL URL:/任务//子任务/ JSON:{ “数据”:{ “due_on”: “2017年6月18日12:00:00 AM”}} 错误:远程服务器返回错误:(404)未找到

什么应该是正确的URL发送JSON请求和应该在请求中修改子任务截止日期?

任何帮助,非常感谢。 感谢 薇薇

回答

1

维韦克,

我首先注意到的是,URL不包含你想更新任务的ID - 我不知道这是否是禁止复制在问题中粘贴省略,但如果没有,并且您使用的URL没有任务的ID,我们将不知道您要设置截止日期的哪个任务 - 这可能是一件事你看到:)

此外,我想验证您对这些请求使用HTTP动词PUT;您可以在Asana中使用POST新任务,但要更改现有任务的字段,我们预计需要PUT。由于子任务算作体位任务,这可以只是针对https://app.asana.com/api/1.0/tasks/:task_id路线进行的

一件事:设置在体位到期日或到期时间实际上是2个独立的东西 - 大部分任务都有各自的到期日设定的,但在我们的Web应用程序中,您可以选择添加设置截止日期的时间。这在我们的API中由日期due_ondue_at时间表示。如果你只是想要日期(推断时间是凌晨12:00),你可能需要due_on和格式为YYYY-MM-DD的字符串(在这种情况下,2017/06/18 )。如果你想设置实际时间,你可以使用带有ISO8601时间戳的due_at,比如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" 
    } 
}' 

最后,并且完全不相关:您是否恰好是目前为Yelp工作的Vivek Patel?如果是这样,我曾经在Sharpcast - 小世界与你一起工作!如果不是,不用担心,随时忽略!

+0

我的日期格式有误。一旦纠正,子任务正在更新日期。感谢您指点我正确的方向。看起来,当使用API​​创建子任务时,它们显示在日历上,但是当使用ASANA网站创建子任务时,子任务不在日历中,但在任务中。有什么我需要更正,以便子任务不会显示在日历上? –

+0

嗯,有趣。听起来像这可能实际上是一个错误 - 我会把它提交给团队注意。谢谢! – Matt