私は Google API (Calendar V3) を初めて使用し、トークンを取得することで承認を得ています。カレンダーにイベントを追加するために POST リクエストで送信するユーザーの calendar_Id を取得するために get リクエストを使用しています。
これが私が取り組んでいるものです:
var json_body = {
"end": {
"date": "2013-09-06"
},
"start": {
"date": "2013-09-06"
},
"summary": "test event 1"
};
var json_string = JSON.stringify(json_body);
http.setRequestHeader("Content-Type", "application/json");
http.setRequestHeader("Authorization","Bearer " + access_key);
http.setRequestHeader("Connection", "close");
http.onreadystatechange = function() {//Call a function when the state changes.
if(http.readyState == 4 && http.status == 200) {
alert("in here");
alert(http.responseText);
}
}
http.send(json_string);
私が得ている応答は次のとおりです。
{
"error": {
"errors": [
{
"domain": "global",
"reason": "parseError",
"message": "Parse Error"
}
],
"code": 400,
"message": "Parse Error"
}
}
認証エラーが発生していないため、access_key認証ヘッダーが正しいことはわかっています。この JSON 構造を Google の API Explorer ツールで実行したところ、カレンダーに要素が正しく追加されました。JSON の作成方法が間違っていると思います。何か案は?
前もって感謝します。
編集:
正しい解決策を見つけました。URL リクエストでパラメータを誤って使用していました。上記のコードは、将来の参考のために誰かがこれに出くわした場合に備えて機能します。