Google Apps API の使い方
Google Apps APIとは
Google Apps APIとはGoogleに格納されている情報(カレンダーの予定など)を取得・更新・削除するためのAPIです。
HTTP通信で「GET 〜」とか「POST 〜」とか送信することで実行できます。
つまりAPIを呼ぶ側はHTTP通信さえ出来れば何でも良くてJavaScriptでもブラウザの拡張機能でもWEBシステムでもAndroidアプリでもOK(なはずです)
で、どういうHTTP通信を行えばいいのかというと
- GoogleデベロッパーサイトのGoogleAppsのページに行く
左に「Application APIs」「Domain Admin APIs」と2つありますが、
後者は「Google Apps for Business」アカウントで使えるAPIです(Business用に会議室の管理とかユーザの統計情報などが出せたりします)
- 使いたいAPIを選んでそこから調べます。
実際に動かしてみる
※今回は単純な取得を行うので上で記載したAPIリファレンスは見ないで行います
- APIを使うには認証を通す必要があります。今回はOauth2.0で行います。
GoogleがOauth2.0を用いてAPIのテストを行えるサイトを用意してくれているのでそちらを使います。Oauth 2.0 Playground
(APIの動作確認を行う際に非常にこのサイトは便利です)
- まずStep1でどのAPIを使うかを選びます、今回はカレンダーを選択し、「Authorize APIs」ボタンを押下します。
- 現在Gmailアカウントにログインしているユーザに対して許可を求める画面が表示されます(ログインしていない場合、ログイン画面が表示されます)
「アクセスを許可」ボタンを押下します。
- 元の画面に戻ってここからStep2になります。そのまま「Exchange authorization code for tokens」ボタンを押下します。
- Tokenが取得され、画面が自動でStep3に移動します。
- 「Find available Request URIs」ボタンを押下してみます。Step1でカレンダーを選んだのでそれに関連するAPIが表示されます。
「Get CalendarList」というのを押下してみます。
- {calendarId}って何だ。と思うかもしれませんがユーザのメールアドレスと同じです。(メールアドレス以外もあるのですがここでは省略します)
つまり「https://www.googleapis.com/calendar/v3/users/me/calendarList/tatsuya.howdy@howdysystem.com」このようになります。(tatsuya.howdy@howdysystem.comは私のテスト用のAppsBusinessアカウントです)
では「Send the request」ボタンを押下してみます。
- なんか取れました。単語を見る限りカレンダーに設定している色やタイムゾーンなんかが取れてますね。
次回はAPIを見ながらカレンダーに予定を登録する方法でも書こうと思います。