← マニュアル保管庫
SETUP GUIDE / 2026-09-04

AIエージェントで
Googleスプレッドシートを自動操作

AIとGoogleスプレッドシートを繋ぐと、表づくりが「言うだけ」で終わります。 1,000行の表も、色分けも、プルダウンも、あなたはセルを1つも触りません。 手を動かすのは最初の1回、Googleに「このMacを許可します」と登録するところだけです。

YOU DO
3つだけ
MINUTES
約20分
COST
無料
AFTER
言うだけ

WHYこうなります

実際にこの手順で作ったものです。数字は実測値です。

1,033行 表がまるごとできる 9サイト分のキーワード管理表を、色分け・プルダウン・数式つきで数分で作成
692件 実データが流し込める WordPressの公開記事を、タイトル・URL・公開日ごと自動で取り込み
毎週月曜 放っておいても更新される 検索順位と内部リンクを、Macが勝手に取ってきて書き込む

WHAT何をしているの

難しそうに見えて、やっていることは「AIがGoogleに直接データを渡す」だけです。

YOU
あなた
日本語で頼む
「この表をシートにして」
→
AI
Claude Code
頼まれた内容を
Googleへの命令に変える
→
GOOGLE
スプレッドシート
データが書き込まれる
画面は開かなくていい

ポイントは AIが画面をクリックしていないことです。 ブラウザでシートを開いてセルに打ち込むのではなく、Googleの受付窓口にデータをそのまま渡します。 だから速いし、日本語も絵文字も崩れません。

MEMO「窓口」とか「API」とか言われるもの

お店に例えると、画面操作は店頭に並んで注文する方法、窓口(API)は業者用の裏口で直接やり取りする方法です。同じ店に同じ注文をしていますが、裏口のほうが速くて確実です。

この先「API」という言葉が何度か出てきますが、ぜんぶ「Googleの裏口」と読み替えて構いません。意味を正確に覚える必要はありません。

MEMO「AIは日本語をシートに書けない」は誤解でした

以前、AIに画面操作でシートへ入力させたとき、日本語のセルが半角部分しか残らないことがありました。当時はそれを「AIの限界」だと思っていましたが、原因は方法のほうでした。画面操作だと日本語入力(変換)が挟まるためです。

窓口経由に切り替えたら、長文の日本語も絵文字🍣も全角記号も、一字も欠けずに入りました。AIが何かを苦手そうにしていたら、道具のせいにする前に「別のやり方はない?」と聞いてみてください。

YOUあなたがやるのは3つだけ

ここから先、手を動かすのはこの3つです。残りは全部AIがやります。

1
Googleに「このMacを許可する窓口」を作る
15分 / ブラウザ
なぜ:Googleは、知らないプログラムに勝手にデータを渡しません。「このMacは自分のものです」と自分で登録する作業です。ここだけはAIが代われません(あなたのGoogleアカウントにログインする必要があるため)。
  1. Google Cloud Console を開く → 上の「プロジェクトの選択」→「新しいプロジェクト」
    • 名前は何でもOK(例:my-gws)
    • 作ったら、そのプロジェクトを選んだ状態にする
  2. 左の「APIとサービス → ライブラリ」で3つを検索して、それぞれ「有効にする」
    • Google Sheets API / Google Drive API / Google Apps Script API
  3. 「OAuth同意画面」(新しい画面では「Google Auth Platform → ブランディング」)
    • ユーザーの種類:外部 / アプリ名とメールを入れて保存
  4. 左の「対象(Audience)」→ テストユーザーに自分のGmailを追加
    • これを忘れると、次の手順で必ず止まります
  5. 左の「クライアント」→「+クライアントを作成」
    • 種類は デスクトップアプリ / 名前は gws-desktop など
  6. 作成直後の画面で「JSONをダウンロード」を押す
  7. script.google.com の設定 で「Google Apps Script API」をオン
こうなればOK

ダウンロードフォルダに client_secret_….json というファイルが落ちていれば完了です。中身は開かなくて構いません。

注意途中で「このアプリはGoogleで確認されていません」と赤い警告が出る›
accounts.google.com
このアプリはGoogleで確認されていません

このアプリからGoogleアカウントへのアクセスをリクエストされています。デベロッパーを信頼できる場合にのみ続行してください。

詳細 / 安全なページに戻る

▲「詳細」→「(アプリ名)に移動(安全ではないページ)」で進む

壊れていません。自分で作ったアプリをGoogleの審査に出していないだけで、全員に出ます。作ったのは自分なので、進んで大丈夫です。

「詳細」を押しても先に進めないときは、④のテストユーザーに自分のGmailが入っているか確認してください。

注意作成直後の画面に、秘密の値が表示されている›

「クライアントシークレット」という文字列が出ています。これは鍵そのものです。

この画面をスクショしてAIに送らない。チャットに貼らない。JSONを落としたら、画面は閉じて構いません。

AIに手伝ってもらうときも「JSONを落とした」とだけ伝えれば十分です。AIはファイルを置くだけで、中身は読みません。

2
AIに「繋いで」と言って、ブラウザで「許可」を押す
5分 / AIとの会話+ブラウザ
なぜ:道具を入れる作業はAIがやります。あなたがやるのは、最後に出てくる「許可」を押すことだけです。この許可はあなたにしか出せません。

JSONを落としたら、AIにそのままこう言います。

AIに貼るだけ
Googleスプレッドシートと繋いで、AIから読み書きできるようにして。
認証のJSONはダウンロードフォルダに落としてあります

AIが道具を入れ、鍵のファイルを安全な場所へ移し、ログイン用のコマンドを実行します。 しばらくするとブラウザが開くので、自分のGmailを選んで「許可」を押してください。

こうなればOK

ブラウザに成功の表示が出て、AIが「繋がりました」と言えば完了です。ここまでが準備の全部です。

注意ブラウザが開かず、ターミナルに長いURLだけ出て止まったとき›

止まっているわけではありません。ブラウザでの許可を待っている状態です。

表示されたURLをドラッグで全部選んでコピーし、ブラウザに貼れば進みます。

URLは途中で折り返して表示されます。手で打ち直さないでください。 途中の localhost:54226 のような数字を1文字読み違えるだけで「接続が拒否されました」と出ます。実際に一度そうなりました。

3
日本語で頼む
以降ずっとこれだけ
なぜ:ここからは作業ではなく会話です。コマンドを覚える必要はありません。やりたいことを言えば、AIが組み立てます。
AIに貼るだけ・まず繋がりを試す
テスト用のシートを新しく作って、日本語と絵文字を書き込んでみて
AIに貼るだけ・表を作る
このCSVと同じ列で新しいシートを作って、全部流し込んで。
状態の列はプルダウンにして、「公開」は緑、「下書き」は青で行ごと色分けして
AIに貼るだけ・データを取り込む
WordPressの公開記事を全部読んで、このシートに追記して
AIに貼るだけ・直す
公開日の列をC列に移して、記事URLは一番右に持っていって
こうなればOK

シートを開いて、日本語も絵文字も一字も欠けていなければ合格です。1,000行でも数分で終わります。

いきなり本番のシートで試さないでください。まずテスト用のシートを1枚作って、そこで確かめると安全です。

SEEできたものはどこで見られるの

できあがりは、いつものスプレッドシートです。特別な画面はありません。

  1. Googleドライブ を開くと、AIが作ったシートがそのまま並んでいます
  2. AIがシートのURLを返してくれるので、それを開くのが早いです
  3. いま繋がっているか不安になったら、AIに「Googleと繋がってる?」と聞けば調べて答えます
覚えることはありません

Google Cloud Consoleの画面は、手順1で1回開いたきり、二度と開きません。普段使うのはスプレッドシートだけです。

NEXT毎週、放っておいても更新されるようにする

ここから先は応用です。繋がっただけで満足せず、自動で回るところまで行くと世界が変わります。

「週に1回コマンドを打つ」は必ず忘れます。 Macには「毎週この時刻にこれを実行する」という予定表の機能があるので、そこに登録してもらいます。 その時刻にMacが寝ていても、次に起きたときに実行されます。

AIに貼るだけ
この更新作業を、毎週月曜の朝9時に自動で動くようにして
こうなればOK

AIが登録を終えたら「いま試しに動かして」と頼んでください。シートが更新されれば成功です。あとは何もしなくても、毎週勝手に新しくなります。

MEMOなぜ「シートにボタンを置く」ではなく、Macに動かせるのか

スプレッドシートの中に更新ボタンを置く方法(Google Apps Script)も試しました。結果、こちらは断念しています。

理由は、ボタンを押すとGoogleのサーバーからデータを取りに行くのですが、レンタルサーバー側の防御機能が、Googleからのアクセスを一律で止めていたためです。自分のMacからは普通に取れるのに、です。

相手が自分のサーバーならMacから取りに行く。相手もGoogleのサービス(Search Console・GA4・ドライブ)ならシートのボタンでよい ── この使い分けだけ知っておくと、無駄に悩まずに済みます。

実話シートのボタンを試して、403 で弾かれた画面›
スプレッドシート — 接続テストの結果

接続テスト

WordPress : ✗ HTTP 403
403 Forbidden — You don't have permission to access this resource.

SearchConsole : ✗ 403
Google Search Console API has not been used in project 143826298809 before or it is disabled.

シート書き込み : OK(41行)

▲ 同じ403でも原因は別。片方はサーバーの防御、もう片方は設定不足

403 は「あなたには許可していません」という意味の番号です。壊れたのではなく、断られています。

そして下の「アクセス権が必要です」を押しても解決しませんでした。Apps Scriptが裏で使っているプロジェクトは、持ち主でも管理画面を触れない仕様だからです。

console.cloud.google.com
追加のアクセス権が必要です

プロジェクトに対する追加のアクセス権が必要です:143826298809

アクセスのリクエスト

▲ このボタンを押しても解決しません

ここで粘らず、Mac側の自動実行に切り替えました。結果としてそちらのほうが安定しています。

CAREこれだけは気をつけてください

この5つだけ守れば大きな事故は起きません

  • 鍵のファイルはチャットに貼らない。スクショに写さない。置き場所を伝えるだけで十分です
  • 鍵をGitHubに上げない。ファイル名のパターンで除外すると、名前を変えたときに漏れます。鍵の入ったフォルダは「原則すべて除外」にしてもらってください
  • 権限は最小に。この手順ではGmailを触る権限を付けていません。使わない権限は最初から渡さない
  • 本番のシートで試さない。動作確認は必ず新しいテスト用シートで
  • 外に出す操作は自分で押す。AIは下書き・準備まで。公開・送信・削除は自分の手で。この線を引いておくと、AIに広い権限を渡さずに済みます

FOUND表にしたら、こんなものが出てきました

おまけです。バラバラだったものを1枚にまとめると、見えていなかったものが出てきます。

発見同じタイトルの記事が2本あった›

一覧にしたら、まったく同じタイトルの記事が2本見つかりました。リライト版を「新しい記事」として公開していたためです。

旧記事のURLは新記事へ転送されていたので検索エンジンからは1本に見えていましたが、管理画面には2本残ったままでした。

気づいていなかった重複は、一覧にすると出てきます。これが表を作る副産物としての価値です。

発見1つのドメインに、2つのサイトが同居していた›

example.com がサイトA、example.com/shop は別のサイトB、という構成でした。 片方だけ数えて53件と386件を取り違えました。

記事数が思っていた数と違ったら、まずサイトの構成を疑ってください。AIに「このドメインにいくつサイトが入ってる?」と聞けば調べます。

発見検索の記録に、見出しジャンプ用のURLが別ページとして並んでいた›

Search Consoleは 記事URL#ketsuron のような、記事の途中へ飛ぶURLを別の行として返します。 そのままだと記事と結びつかず、73件が「表に無いページ」扱いになりました。

AIが # より後ろを落として照合するようにしたので、いまは99%結びついています。数が合わないときは、こういう「同じページの別の書き方」を疑ってください。

Q&Aよくある疑問

お金はかかる?
かかりません。Google Cloud Consoleという名前は物々しいですが、この使い方は無料の範囲です。カードの登録も要りません。
手順1がいちばん面倒そう
正直、面倒です。ただし一生に1回だけで、2回目からは存在も忘れます。詰まったら画面のスクショをAIに送れば、次に押すところを教えてくれます(秘密の値が写っている画面だけは送らないでください)。
繋がらなくなったら?
しばらく使わないとログインが切れることがあります。AIが「ログインし直してください」と言うので、そのとおりにするだけです。手順1からやり直す必要はありません。
既にあるシートを壊さない?
頼んでいないシートは触りません。ただし同じシートに「上書きして」と頼めば上書きされます。大きく変えるときは「先にコピーを作ってから」と付け足すのが安全です。
ターミナルって何?
Macに文字で命令を出す黒い画面です。⌘+スペース で「ターミナル」と打つと開きます。この手順で自分で文字を書く場面はありません。貼って Enter を押すだけです。

CHEAT裏で動いているコマンド

覚える必要はありません。「何が動いているか知りたい」ときだけどうぞ。

やりたいことコマンド
繋がっているか確認~/.local/bin/gws auth status
シートの一覧gws drive files list --params '{"fields":"files(id,name)"}'
範囲を読むgws sheets spreadsheets values get --params '{"spreadsheetId":"ID","range":"タブ名!A1:F20"}'
セルに書くgws sheets spreadsheets values update --params '{…,"valueInputOption":"USER_ENTERED"}' --json '{"values":[["下書き"]]}'
色・数式・プルダウンgws sheets spreadsheets batchUpdate --params '{"spreadsheetId":"ID"}' --json '{"requests":[…]}'