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