思ったより大変だったので詰まったところをメモ
Google Sheet API使うために必要なものまとめ
- 承認
- を得るためにAPIキーまたはOAuth token
- を発行するためにGoogle Cloud Platformのアカウント
- を作成するためにクレジットカード
やったこと
公開されてるGoogle Spread Sheetに対して、Google Sheet APIを使って
特定の指定したシートの指定したセルのデータを読むAPIを実行し、結果をjsonで受け取る
流れ
- とりあえず触ってみる
- 公式の[チュートリアル] (https://developers.google.com/sheets/samples/reading?hl=ja)を流し読み
- 簡単そうじゃん!と喜ぶ
GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{SheetId}!{開始Cell}:{終了Cell}
- 403エラーで首をかしげる
- 必要な手続きの確認
- 公式の[Authorized Request]
(https://developers.google.com/sheets/api/guides/authorizing)を読む - Google Sheet APIの利用には承認が必要と知る
- それには認証情報(API keyまたはOAuth token)が必要
- 発行のためGoogle Cloud Platformのアカウントを作ることにする
- 公式の[Authorized Request]
- Google Cloud Platformのアカウント作成
- Google Cloud Platformにアクセス
- googleアカウントでログイン
- 「無料トライアル」を開始
- 指示に従って登録。悩むところは無いが、クレジットカードが必要
- APIちょっと試したいだけなのに、だんだん大仰になってきたな、と物思いに耽る
- APIキー発行
- Google Cloud Platform管理画面にログイン
- 左上のメニューから「APIとサービス」> 「認証情報」を選択
- ダイアログで「組織ではページを表示できません。 このページを表示するには、プロジェクトを選択してください。」と言われるので「作成」
- とりあえずデフォルトのままプロジェクト作成
- 認証情報の画面に戻って同じエラーが出てくるので、今度は「選択」(プロジェクトは作成完了まで少しかかる)
- ダイアログで「API へのアクセスには認証情報が必要です。使用する API を有効化し~」と言われるので「認証情報を作成」> 「APIキー」
- 作成されたAPIキーをコピー
`
- 再挑戦
GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{SheetId}!{開始Cell}:{終了Cell}?key={API キー}
- jsonでデータが受け取れるのを確認する
- おつかれさまでした
このAPIキーは、警告文にあるように制限がかかっていないので、くれぐれも公開しないようにご注意ください
つまづきやすそうなところ
- 認証情報が必要というのが見落としやすい
- SpreadsheetId(Excelのbook)とSheetId(ExcelのSheet)がややこしい
- Google Sheet APIの説明記事でも、Google Cloud Platformのアカウントについては省略してることも多いので、1から始める人は注意
- UIが結構頻繁に変わるようなので、Google Cloud Platformの管理画面操作については参考程度に
参考
公式の紹介記事
Google Sheets API v4を適当に叩いて適当にデータをJSONで取得する
Google Cloud Platform のサービスアカウントを作成する(2016年9月版)