Edited at

Google Sheet APIを試す時に詰まったところ

More than 1 year has passed since last update.

思ったより大変だったので詰まったところをメモ


Google Sheet API使うために必要なものまとめ


  • 承認

  • を得るためにAPIキーまたはOAuth token

  • を発行するためにGoogle Cloud Platformのアカウント

  • を作成するためにクレジットカード


やったこと

公開されてるGoogle Spread Sheetに対して、Google Sheet APIを使って

特定の指定したシートの指定したセルのデータを読むAPIを実行し、結果をjsonで受け取る


流れ


  • とりあえず触ってみる


    1. 公式のチュートリアルを流し読み

    2. 簡単そうじゃん!と喜ぶ

    3. GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{SheetId}!{開始Cell}:{終了Cell}

    4. 403エラーで首をかしげる



  • 必要な手続きの確認


    1. 公式のAuthorized Requestを読む

    2. Google Sheet APIの利用には承認が必要と知る

    3. それには認証情報(API keyまたはOAuth token)が必要

    4. 発行のためGoogle Cloud Platformのアカウントを作ることにする



  • Google Cloud Platformのアカウント作成



    1. Google Cloud Platformにアクセス

    2. googleアカウントでログイン

    3. 「無料トライアル」を開始

    4. 指示に従って登録。悩むところは無いが、クレジットカードが必要

    5. APIちょっと試したいだけなのに、だんだん大仰になってきたな、と物思いに耽る



  • APIキー発行


    1. Google Cloud Platform管理画面にログイン

    2. 左上のメニューから「APIとサービス」> 「認証情報」を選択

    3. ダイアログで「組織ではページを表示できません。 このページを表示するには、プロジェクトを選択してください。」と言われるので「作成」

    4. とりあえずデフォルトのままプロジェクト作成

    5. 認証情報の画面に戻って同じエラーが出てくるので、今度は「選択」(プロジェクトは作成完了まで少しかかる)

    6. ダイアログで「API へのアクセスには認証情報が必要です。使用する API を有効化し~」と言われるので「認証情報を作成」> 「APIキー」

    7. 作成されたAPIキーをコピー
      `



  • 再挑戦


    1. GET https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}/values/{SheetId}!{開始Cell}:{終了Cell}?key={API キー}

    2. jsonでデータが受け取れるのを確認する

    3. おつかれさまでした



この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月版)