Google Calendar APIを使う時の注意点的な何か
JSというかPhoneGapでGoogle APIを使ってたんだけど、ドキュメントちゃんと読まずにハマってたのでメモ。
まず、URL。ドキュメントを読むと、/calendars/calendarId/events とかの書き方だったので、
「なるほど、こいつの頭に"https://www.googleapis.com/"をつければいいのね」としたり顔で実装する私。
はい、間違い! 英語でもくじけずドキュメントを読みましょう。
ちゃんとこちらのGoogle APIでのRESTの使用方法に
https://www.googleapis.com/apiName/apiVersion/resourcePath?parameters
と書いてあります。しかもサンプルがちょうどGoogle Calendar APIなので
https://www.googleapis.com/calendar/v3/lists/calendarListID/calendar?parameters
と書いてあります。さらにちゃんとこちらのドキュメントにも下記のようにばっちり書いてあります。
https://developers.google.com/google-apps/calendar/v3/reference/events/list
読めよ!
英語でも
読めよ!
しかし間違いはまだ終わらない。
URLをフルで書いても読めない。はて... 必要な値は「calendarId」だけのはず。
これは、CalendarList APIで取得済み。それをそのまま入れている。そう、そのままね。
https://developers.google.com/google-apps/calendar/v3/hoge@gmail.com/events/list
動くわけ、無いだろ。@とかその位置に書いてちゃんと動くわけ無いだろ。URLエンコードしろよ。常識的に考えて。
気づけよ!
ドキュメントに書いてなくても
気づけよ!
という理由で正しいURLは
https://developers.google.com/google-apps/calendar/v3/hoge%40google%2ecom/events/list
こんな感じが正解。でもって、下記のGoogleさん謹製のAPIS-Explorerを使えばその辺簡単に確認出来る。
という訳で、自分のマヌケで無駄にハマってしまったことに関する憤りを書き綴って見ました。
それでは Happy Hacking !