Claude Codeとgogcliを組み合わせれば、GoogleスプレッドシートのデータをCLIコマンド1行で読み書きできます。
- 要点1: gogcliはMCPサーバー不要でSheets APIをコマンドラインから操作できるツール
- 要点2: BATCH_GETを使えば複数シートのデータを1回のAPIコールで一括取得可能
- 要点3: Googleフォームの申し込みデータをスプレッドシートで管理し、GASと連携して自動メール通知まで実現できる
対象: Claude Codeでスプレッドシート管理を自動化したい経営者・DX推進担当者
今日やること: gogcliをインストールしてOAuth認証を設定し、管理しているスプレッドシートを読み取ってみる
この記事の目次
Claude Codeとgogcliを組み合わせることで、Googleスプレッドシートへのデータ読み書きをCLIから自動化できます。
「スプレッドシートをいちいち開いてデータを確認している」「新しいKWや案件情報を手で入力している」——こうした定型作業は、Claude CodeとgogcliをつなぐだけでCLIから解決できます。
この記事では、gogcliのセットアップから基本コマンド、BATCH_GETによる一括取得、さらにGoogleフォーム連携まで、実際の活用事例をもとに解説します。
Claude CodeからGoogle Sheetsを操作する仕組み
Claude CodeからGoogleスプレッドシートを操作するには、いくつかのアプローチがあります。MCPサーバーを使う方法、Google Sheets APIを直接呼び出す方法、そして本記事で紹介するgogcliを使う方法です。
gogcliを使うアプローチは、設定がシンプルで、Claude Codeのコンテキスト内からコマンドを実行するだけで済みます。MCPサーバーの設定や複雑なAPI認証コードを書く必要がありません。
gogcliとは——Claude CodeとGoogle Workspaceをつなぐツール
gogcliは、Google WorkspaceのサービスをCLIから操作するためのツールです。Gmail、カレンダー、Drive、Sheets、Docs、Contacts、Tasks、Chatなど10以上のサービスに対応しており、OAuth認証を一度設定すればすべてのサービスをコマンドラインから扱えます。
Claude Codeの会話内で gog sheets get などのコマンドを実行指示するだけで、スプレッドシートのデータを取得・処理できます。
Sheets API直接操作との違い
Sheets APIを直接操作する場合、サービスアカウントの作成・認証情報の管理・Pythonやシェルスクリプトの記述が必要です。gogcliを使う場合は、これらを省略できます。
| 比較項目 | Sheets API直接操作 | gogcliを使う場合 |
|---|---|---|
| 認証設定 | サービスアカウントまたはOAuth設定が必要 | gogcliのOAuth認証のみ |
| コード記述 | Python/シェルスクリプトが必要 | コマンド1行で操作可能 |
| Claude Codeとの連携 | スクリプトファイルを別途作成・管理 | 会話の中で直接実行指示 |
| 対応サービス | Sheetsのみ | Google Workspaceの10+サービスに統一対応 |
セットアップ:前提条件と認証の設定
gogcliの利用を始めるには、まずインストールとOAuth認証の設定が必要です。前提として、Node.js(v18以上)がインストールされていることを確認してください。
gogcliのインストール
ターミナルから以下のコマンドを実行します。
npm install -g gogcli
インストール後、以下で動作を確認できます。
gog --version
OAuth認証の設定
初回利用時にGoogle Cloudプロジェクトを作成し、OAuth 2.0クライアントIDを取得する必要があります。
手順の概要は以下の通りです。
- Google Cloud Consoleでプロジェクトを作成する
- 「APIとサービス」→「ライブラリ」でGoogle Sheets APIを有効化する
- OAuthクライアントIDを作成し、
credentials.jsonをダウンロードする gog auth login --credentials credentials.jsonで認証を開始する- ブラウザでGoogleアカウントにログインし、権限を許可する
認証が完了すると、トークンがローカルに保存され、以降はコマンドを実行するだけで操作できます。
スプレッドシートのIDを確認する
操作対象のスプレッドシートIDは、URLから確認できます。
https://docs.google.com/spreadsheets/d/[スプレッドシートID]/edit
この [スプレッドシートID] の部分(長い英数字の文字列)を控えておきます。以降のコマンドで使用します。
\ Claude Codeの導入、何から始めればいいかわかります /
法人向けClaude Code個別指導の無料相談はこちらスプレッドシートの読み取り——データを取得するコマンド
認証が完了したら、スプレッドシートのデータを読み取ってみましょう。
単一セル・範囲指定の読み取り
特定のセルや範囲を読み取る基本コマンドは以下の形式です。
# 単一セルの読み取りgog sheets get [スプレッドシートID] Sheet1!A1# 範囲指定の読み取り(A1からD10)gog sheets get [スプレッドシートID] Sheet1!A1:D10# シート全体の読み取りgog sheets get [スプレッドシートID] Sheet1
出力はJSON形式で返ってくるため、Claude Codeがその場で内容を解析・処理できます。
BATCH_GETで複数シートを一括取得する
複数の範囲やシートを同時に取得したい場合、BATCH_GETを使うとAPIコールを1回に抑えられます。これは特に、マスターシートとデータシートを同時に参照する必要がある場合に有効です。
# 複数範囲の一括取得gog sheets batchGet [スプレッドシートID] "Sheet1!A1:C10,Sheet2!A1:B20"
たとえば、KWリストシートとボリュームデータシートを同時に取得してまとめて処理する、というユースケースに適しています。BATCH_GETは個別に複数回コマンドを実行するより高速で、APIクォータの消費も抑えられます。
取得したデータをClaude Codeで処理する
取得したデータはClaude Codeのコンテキストに渡され、そのまま処理できます。たとえば以下のような指示ができます。
- 「このKWリストの中で検索ボリュームが1,000以上のものを抽出して」
- 「ステータスが”未着手”のクライアントを一覧にして」
- 「先月の新規申し込み件数を集計して」
スプレッドシートを開かずに、Claude Codeとの会話だけでデータの確認・分析が完結します。
スプレッドシートへの書き込み——データを更新するコマンド
読み取りだけでなく、データの追加・更新もCLIから実行できます。
特定セルの値を更新する
# 特定セルを更新gog sheets update [スプレッドシートID] Sheet1!B5 "調査済み"# 複数セルを一括更新gog sheets update [スプレッドシートID] Sheet1!B5:C5 "調査済み" "2026-03-26"
KWリストのステータス列を更新したり、クライアント情報を修正したりする際に使います。
新しい行を末尾に追加する
# 末尾に1行追加gog sheets append [スプレッドシートID] Sheet1 "新しいKW" "1000" "中" "未着手"
このコマンドを使うと、スプレッドシートを開くことなく、新しいデータを末尾に追加できます。
複数セルを一括更新する
大量データの更新には batchUpdate を使います。
# JSON形式でまとめて更新gog sheets batchUpdate [スプレッドシートID] --data '[{"range":"Sheet1!B2","values":[["済"]]}]'
これにより、複数行にわたるステータス更新やデータ修正を1回のコマンドで完了できます。
\ 業務自動化のお悩み、プロが30分で整理します /
法人向けClaude Code個別指導の無料相談はこちら実践事例1——KWリストをCLIから管理する
あるメディアサイトの運営者が、SEOキーワードの管理にClaude CodeとgogcliのSheets連携を活用した事例を紹介します。
KWリスト管理シートの構成
スプレッドシートには以下の列を設けていました。
| 列 | 内容 |
|---|---|
| A | キーワード |
| B | 月間検索ボリューム(Bing Webmaster API取得値) |
| C | 競合難易度(SD) |
| D | 優先度(高/中/低) |
| E | 記事ステータス(未着手/執筆中/公開済) |
| F | 公開URL |
新規KWを追加するコマンド
KWリサーチで新しいキーワードが見つかった際、以下のコマンドで即座にリストへ追加していました。
gog sheets append [スプレッドシートID] KWリスト "Claude Code 使い方" "" "" "高" "未着手"
Claude Codeがリサーチ結果をまとめながら、そのままスプレッドシートへ書き込む指示を出すことで、リサーチとリスト管理が一連の作業として完結するようになりました。
調査結果を自動書き込みする
Bing Webmaster APIでボリュームを取得したあと、結果をスプレッドシートに書き戻す処理をClaude Codeが一括実行します。
# ボリューム取得結果をB列に書き込みgog sheets update [スプレッドシートID] "KWリスト!B5" "2400"
スプレッドシートを開かずにリサーチから管理まで完結するため、作業の切り替えコストが大幅に削減できました。
実践事例2——Googleフォーム申し込みをスプレッドシートで管理し、GASで自動通知する
あるイベント運営者が、参加申し込みフォームとスプレッドシート・GASを連携させて自動通知を構築した事例を紹介します。
スプレッドシートの列構成をgogcliで確認する
まず、Googleフォームの回答が蓄積されているスプレッドシートの構成をClaude Codeから確認しました。
gog sheets get [スプレッドシートID] "フォームの回答 1!A1:H1"
確認した結果、以下の列構成であることがわかりました。
| 列 | 内容 |
|---|---|
| A | タイムスタンプ |
| B | お名前 |
| C | 役職 |
| D | メールアドレス |
| E | 電話番号 |
| F | 会社名 |
| G | 会社HPのURL |
| H | ご希望の日程 |
この情報をClaude Codeが取得した上で、GASのコードを生成する作業に進みました。
GASとclaspでフォーム送信トリガーを設定する
次に、claspを使ってGASプロジェクトを作成し、フォーム送信時のトリガーを設定しました。
# claspでGASプロジェクトを作成clasp create --type standalone --title "フォーム自動通知"# スクリプトをアップロードclasp push
ポイントGASプロジェクトを既存のスプレッドシートにバインドしようとすると、別の新しいスプレッドシートが生成されてしまうことがあります。スタンドアロン型として作成し、スクリプト内でスプレッドシートIDを直接指定する方式が確実です。
Claude Codeを使ったスプレッドシート操作の自動化を、どの業務に適用すべきか迷っている方は、個別にご相談いただけます。自社の管理シートの構成を共有いただければ、具体的な自動化案をご提案します。
管理者通知メールと申し込み確認メール下書きの自動生成
GASには以下の2つの処理を実装しました。
- 管理者への通知: フォーム送信ごとに管理者メールアドレスへ申し込み内容を送信
- 申し込み者への確認メール: 申し込み者のメールアドレスに、参加するイベントのURLを記載した確認メールの下書きを自動生成
function onFormSubmit(e) { const sheet = SpreadsheetApp.openById(CONFIG.SPREADSHEET_ID) .getSheetByName(CONFIG.SHEET_NAME); const lastRow = sheet.getLastRow(); const data = sheet.getRange(lastRow, 1, 1, 8).getValues()[0]; const name = data[1]; const email = data[3]; const schedule = data[7]; // 管理者への通知メール送信 GmailApp.sendEmail( CONFIG.ADMIN_EMAIL, 'Claude Code勉強会の申し込みがありました', `申込者: ${name}\n日程: ${schedule}\nシート: ${CONFIG.SPREADSHEET_URL}` ); // 申し込み者への確認メール下書き作成 const scheduleInfo = getScheduleInfo(schedule); GmailApp.createDraft( email, 'Claude Code勉強会へのお申し込みありがとうございます。', `${name} 様\n\nご参加URL: ${scheduleInfo.url}` );}
setupTrigger 関数を一度手動で実行するだけで、以降はGoogleのサーバー側でフォーム送信を常時監視します。スプレッドシートを開きっぱなしにしたり、PCを起動しておく必要はありません。
このフローの注目点は、gogcliでスプレッドシートの列構成を確認してからGASのコードを生成したことです。列の順序が不明なままコードを書くと後から修正が必要になります。Claude Codeがgogcliで事前確認してからコード生成に進んだため、一発で正確なコードが出来上がりました。
内部リンク: GAS(Google Apps Script)をClaude Codeから実行・管理する方法
\ AI活用の「次の一手」を一緒に考えませんか /
法人向けClaude Code個別指導の無料相談はこちらよくある質問
Q. gogcliがエラーになるときの対処法は?
よくあるエラーには次のものがあります。
「認証エラー」が出る場合: OAuth認証のトークンが期限切れになっている可能性があります。gog auth refresh を実行してトークンを更新してください。
「スプレッドシートが見つからない」場合: スプレッドシートIDの確認と、認証しているGoogleアカウントがそのスプレッドシートにアクセス権を持っているかを確認してください。
「APIクォータ超過」エラーが出る場合: Sheets APIには1分あたりのリクエスト数に上限があります。短時間に多数のコマンドを実行する場合は、BATCH_GETを活用してリクエスト数を減らしてください。
Q. スプレッドシートの全シートを一括で取得できますか?
シート名を指定せず、スプレッドシートIDのみを指定すると、スプレッドシートのメタ情報(シート名一覧など)を取得できます。ただし全シートの全データを一括取得する場合は、シート名を明示してBATCH_GETで複数範囲を指定する方が確実です。
Q. GASトリガーとgogcliはどちらを使うべきですか?
用途によって使い分けます。
| 用途 | 推奨方法 |
|---|---|
| スプレッドシートのデータを確認・分析したい | gogcli(Claude Codeから即時確認) |
| フォーム送信・行追加などのイベントに自動で反応したい | GAS(Googleサーバー側で常時監視) |
| 定期的にデータを更新・集計したい | GAS(時間ベーストリガー)またはcron |
2つを組み合わせることで、確認はClaude Codeから・自動処理はGASで、という役割分担が実現できます。
まとめ
Claude Codeとgogcliを組み合わせることで、Googleスプレッドシートの操作を大きく自動化できます。本記事のポイントを整理します。
- gogcliはMCPサーバー不要でSheets APIをCLIから操作できるツール
- BATCH_GETの活用で複数シートのデータを1回のAPIコールで一括取得できる
- KWリスト管理・クライアント管理などの定型作業をClaude Codeから自動化できる
- GASとclaspと組み合わせることで、スプレッドシートをトリガーにした自動通知まで実現できる
最初のステップとして、まずgogcliをインストールし、日常的に参照しているスプレッドシートの読み取りを試してみることをおすすめします。「このデータをClaude Codeで見たい」と感じるシートが一つでもあれば、そこから自動化を始められます。
Claude Codeの導入・活用をサポートします
株式会社Nexaでは、Claude Codeを活用した業務自動化の個別指導・企業研修を提供しています。「Googleスプレッドシートの自動化から始めたい」「どの業務に適用すれば効果が高いか知りたい」という段階からご支援いたします。




