
【最新v4対応】GoogleスプレッドシートにAPIで書き込む!GCP設定編
目次
こんにちは、飯塚です。
業務でGoogleスプレッドシートにシステムから書き込みをしたいというご要望がありました。初期設定から認証を通して、実際にJavaのプログラムからAPIで書込みをするまで調査に時間がかかったので、手順をまとめました。今回は初期設定のみです。
最初に押さえておきたいポイント(料金、上限、認証)
観点 | 内容 | 補足 |
---|---|---|
最大リクエスト数 | プロジェクトごとに100秒あたり500リクエスト、ユーザーごとに100秒あたり100リクエストの制限、1日あたりの使用制限なし | Sheet API 使用制限 |
料金 | 基本無料、上記リクエスト上限を増やす場合に課金が必要 | Sheet API 使用制限 |
ファイル内の書き込み上限 | 1ファイルあたり最大500万セルまで(1シート単位ではない、行数ではなくセル数で上限が判定される) | Google ドライブに保管可能なファイル |
タイムアウト | デフォルトで20秒、プログラムで変更可能 | Google APIクライアントライブラリ タイムアウトとエラー |
OAuth2.0 認証 | アクセストークンではなく、サービスアカウントを使用する | OAuth2.0によるアクセス |
アクセストークンによる認証は、トークン取得時にWebページ上でGoogleアカウント認証が必要になるので、恐らく多くのシステムではサービスアカウントを利用することになると思います。
またGoogle Sheets v3 APIは2021年6月8日にシャットダウンされました。v4になってからプログラムの書き方も変わったので注意です。最新の正確な情報はGoogleの公式ドキュメントをご確認ください。
Google Cloud Platform(GCP)にログイン
下記リンクからGoogle Cloud Platformのログイン画面を開きます。
Google Cloud Platform ログイン
次にAPIの有効化、認証情報の管理、使用状況の監視、有償化などすべてGoogle Cloud Platformで管理します。
Googleアカウントのメールアドレスとパスワードを入力します。
プロジェクトを新規作成する
まずはプロジェクトを作成します。開いたダッシュボードから、「プロジェクトの選択」をクリックします。
「新しいプロジェクト」を選択します。
「プロジェクト名」を入力して、「作成」ボタンをクリックします。
Google Sheets APIを有効にする
「APIとサービス」をクリックします。
「APIとサービスの有効化」をクリックします。
APIライブラリの検索画面から「Google Sheets API」を検索します。
検索結果の「Google Sheets API」を選択します。
「有効にする」をクリックします。
Google Sheets APIの管理画面が開かれます。
サービスアカウント用の認証情報を作成する
「認証情報を作成」をクリックします。
「サービスアカウント」を選択します。
次にサービスアカウント名を入力します。任意の値で問題ありません。
ロールはシステムの要件に合わせて設定し、「続行」をクリックします。
「完了」をクリックします。
これでサービスアカウントが作成されました。サービスアカウント用に自動生成されたメールアドレスは、この後使用するので控えておきましょう。
Googleスプレッドシート側からサービスアカウントに編集権限を追加する
Googleドライブにログインします。
Googleドライブ ログイン
「新規」をクリックします。
Googleスプレッドシートをクリックして、新規作成します。
「共有」をクリックします。
Google Cloud Platform上で作成したサービスアカウントのメールアドレスを入力します。
初期設定としては以上です。次回Javaのプログラムのサンプルで、Googleスプレッドシートへの書き込みをします。
まとめ
システム開発に限らず、お客様とのやりとりでもExcelではなくGoogleスプレッドシートを使用することが増えてきました。便利なサービスやツールが増えた分、それらを一箇所のシステムで管理したいという要望は今後も増えてきそうです。
Googleに限らず、様々なAPIの最新バージョンの使い方を今後も勉強して公開していきたいと思います。
《関連記事》


アシスタントリーダー A.Iizuka 技術の入門・まとめ系を中心に書いてます。あとで読み返したいと感じていただける記事を目指しています。