2017-02-03 37 views
1

サブタスクを更新しようとしています。より具体的には、期日です。 私はいくつかのことを試して失敗しました。 これは私がこれまで試みたものである。ASANA APIサブタスクを更新する方法

試み1: URL:https://app.asana.com/api/1.0/tasks/ JSON:{ "データ":{ "due_on": "2017年6月18日午前12:00:00"}} エラー:リモートサーバーからエラーが返されました:(400)Bad Request。

試み2:JSONリクエスト URLに親IDを追加しました:/タスク/ JSON:{ "due_on": "2017年6月18日12時00分のParentIDは、セキュリティ上の理由 { "データ" のためにマスクされています。 エラー:リモートサーバーからエラーが返されました:(400( "00"、 "parent":{"id":##############、 "name":null} ) 要求の形式が正しくありません。

試み3:使用/サブタスクURLで URL://サブタスク/ JSON /タスク:{ "データ":{ "due_on": "2017年6月18日午前12時00分00秒AM"}} エラー:リモートサーバーからエラーが返されました:(404)見つからない

JSONリクエストを送信するための正しいURLと、サブタスクの期限を変更する要求は何でしょうか?

ご協力いただきまして誠にありがとうございます。私はこれが著作であるかどうかわからないんだけど - おかげ ヴィヴ

答えて

1

のVivek、

私が気づいた最初の事はURLがアップデートしようとしているタスクのIDが含まれていないということです問題のペーストの省略を示しますが、使用していないURLにタスクのIDがない場合、期限を設定しようとしているタスクはわかりませんあなたは見ています:)

また、これらの要求にHTTP動詞PUTを使用していることを確認したいと思います。 AsanaのPOST新しいタスクを実行できますが、既存のタスクのフィールドを変更するには、PUTが必要です。サブタスクはAsanaのタスクとしてカウントされるので、これはちょうどhttps://app.asana.com/api/1.0/tasks/:task_idのルートに対して行うことができます

もう1つ:Asanaの予定日時を設定するのは、実際には2つの別々のものです。 Webアプリでは、期限を設定するときに時間を追加することができます。これはAPIでは、日付の場合はdue_on、時刻の場合はdue_atと表示されます。 の日付が(時刻が午前12:00と推測されます)の場合は、due_onとYYYY-MM-DDの形式の文字列が必要です(この場合は2017/06/18 )。実際の時間を設定する場合は、とISO8601のタイムスタンプ(2017-06-18T08など)を使用できます。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ですか?もしそうなら、私はシャープキャストであなたと仕事をしていました - 小さな世界!そうでなければ、心配しないで、無視してもかまいません!

+0

私の日付形式が正しくありませんでした。修正されると、サブタスクは日付を更新しています。正しい方向に私を指してくれてありがとう。APIを使用してサブタスクを作成すると、カレンダーに表示されますが、ASANA Webサイトを使用してサブタスクを作成すると、サブタスクはカレンダーにはなくタスク内にあります。サブタスクがカレンダーに表示されないように修正する必要がありますか? –

+0

うん、興味深い。それは実際にはバグかもしれません - 私はそれをチームの注目に持ってきます。ありがとう! – Matt