次のような簡単なページを作成して、JQuery / REST /GoogleAPIを自分で学ぼうとしています。
- Googleで認証する
- トークンを検証します
- ユーザーのGoogleカレンダーのリストを取得します
- 選択したカレンダーのイベントを一覧表示します
- 選択したカレンダーのイベントを追加します
私は#1から#4が機能していて(間違いなく醜い方法ですが)、#5でつまずきました。JQueryのajax呼び出しは次のとおりです。
var url = 'https://www.googleapis.com/calendar/v3/calendars/[MY_CALENDAR_ID]/events?sendNotifications=false&access_token=[GOOGLE_API_TOKEN]';
var data = { end: { dateTime: "2012-07-22T11:30:00-07:00" }
, start: { dateTime: "2012-07-22T11:00:00-07:00" }
, summary: "New Calendar Event from API"
};
var ajax = $.ajax({ url: url
, data: data
, type: 'POST'
}).done(addEventDone)
.fail(function (jqHXR, textStatus) {
console.log("addEvent(): ajax failed = " + jqHXR.responseText);
console.log(jqHXR);
});
結果はグローバルparseErrorです:「このAPIはフォームエンコードされた入力の解析をサポートしていません。」最初の4つのステップはすべてGETajax呼び出しを使用しているため、それが私をつまずかせているのかどうかはわかりません。
問題のAPIは次のとおりです:https ://developers.google.com/google-apps/calendar/v3/reference/events/insert
私は物事を長く困難な方法で行っている可能性があると思います。私の新しいアプローチは、手動のJQueryとRESTで直接実行するのではなく、javascriptAPIを使用してこれに取り組むことです。これは私が今後試みているアプローチですhttp://code.google.com/p/google-api-javascript-client/wiki/Samples#Calendar_APIですが、もしあればこれを学習の機会として利用したいと思います。簡単なことですが、上記のコードを台無しにしています。
ヘルプ、洞察、ポインタなどをありがとう。javascriptAPIを使用して進歩が見られたら、更新を投稿します。