2011-06-19 10 views
2

私は、次のコードを使用してタスクを更新しようとしています:

Googleのタスクの更新エラー

function updtsk(task,id) 
{ 
    var url = 'https://www.googleapis.com/tasks/v1/lists/@default/tasks/'+id; 
    var req = { 
    'method': 'PUT', 
    'headers': { 
     'Content-type': 'application/json' 
    }, 
    'body': JSON.stringify(task) 
    }; 
    var addDone = function(resp, xhr) { 
    if (xhr.status != 200) { 
     notifyFailure('Couldn\'t update task.', xhr.status); 
     return; 
    } 

    //notifySuccess(task['title']); 
    } 

    oauth.sendSignedRequest(url, addDone, req); 
} 

しかし私は次のエラーを取得する:

"{ 
"error": { 
    "errors": [ 
    { 
    "domain": "global", 
    "reason": "invalid", 
    "message": "Invalid Value" 
    } 
    ], 
    "code": 400, 
    "message": "Invalid Value" 
} 
} 
" 

更新本体はこれです:

{ 
'title': $(this).val() 
}; 

私は使用していますchrome_ex_oauth apiといくつかの助けを使用することができます。

+0

このエラーが返されるように送信されている更新本体の例を投稿できますか? – bronsoja

+0

あなたは行き​​ます。手伝ってくれますか? – jbills

答えて

2

更新プログラムにフィールドを追加する必要がある可能性があります。

http://code.google.com/apis/tasks/v1/reference.html#resource_tasksは、ステータスのプロパティがオプションではないことを示しています(他の変更可能なフィールドは説明の中にオプションとしてリストされています)。 種類のプロパティに、静的な値が表示されている必要があります。任意のタスクリストのタスクを更新するためのGoogleのタスクAPIで

0


まず、タスクリストIdの使用とタスクを取得する必要がありますし、タスクID
タスクの第2ステップの変更/更新して、再度そのタスクを更新します。
これはあなたにとって有益です。

+0

あなたはこれにコードを持っていましたか?それは私のために働いていない.. –

10

すでに送信しているタイトル情報とともに「id」キーと値のペアを渡してみてください。

APIエクスプローラを使用しても同じ問題が発生しました。特にURLに含まれているため、これが必須パラメータであることを示すドキュメントはありません。 idを追加すると、正しく動作しました。

+0

+1正確にこの問題があった、ありがとう! –

+0

http本体にはjsonシリアル化タスクリソースが含まれている必要がありますか? –

+1

したがって、Googleは、タスクの「id」をURL、パラメータ、本文(タスクリソース)の一部として渡す必要があります。 – parth

関連する問題