Claude CodeでGoogleスライドを自動生成する方法|Slides API連携でチーム共有まで自動化
Googleスライドで提案書や報告資料を作成する場面は多いものの、テンプレートの複製、テキストの差し替え、共有リンクの発行といった定型作業を毎回手動で行っている現場は少なくありません。テンプレートが増えるほど管理は煩雑になり、共有設定のミスで関係者にファイルが届かないというトラブルも起きがちです。
この記事では、Claude Code と Google Slides API を組み合わせて、Googleスライドの生成からチーム共有までを自動化する手順を解説します。テンプレート複製、プレースホルダー差し替え、閲覧・編集権限の自動設定まで、実務で使える流れを整理します。NotebookLM を使ったスライド活用については NotebookLMでPPTXを扱う方法 で別途まとめています。
本記事のポイント
- Claude CodeはGoogle Slides APIのコードを自然言語で生成でき、テンプレートの複製、プレースホルダー差し替え、共有権限設定まで一括処理できる。
- Googleスライド自動化の利点はクラウドネイティブな共同編集にあり、生成後にURL共有するだけでチーム全員がレビュー・修正できる。
- サービスアカウント認証とOAuth認証の使い分けが導入の分岐点であり、バッチ処理にはサービスアカウント、個人利用にはOAuthが向いている。
この自動化が向いている場面
- 営業提案書や月次報告スライドを毎週チームへ共有しており、テンプレ複製と共有設定に手間がかかっている
- Googleスライドのテンプレートは用意してあるが、差し替え箇所が多く手作業で20分以上かかっている
- 共有リンクの発行ミスや権限設定漏れで、関係者がファイルを開けないトラブルが繰り返し起きている
- PowerPointではなくGoogle Workspace上で完結させたいが、自動化の方法がわからない
共通するのは「クラウド上で共同編集したいが、生成と共有の手作業が残っている」という状況です。
Google Slides APIの基本構造
Google Slides API は、Googleスライドのプレゼンテーションをプログラムから操作するための REST API です。Claude Code が直接スライドを描くわけではなく、Claude Code が Slides API を呼び出す Python コードを生成し、そのコードを実行することでスライドの複製・編集・共有が自動化されます。
主な操作は3つに分類されます。プレゼンテーションの作成・複製(presentations.create / Drive API の files.copy)、スライド内テキストの差し替え(presentations.batchUpdate の replaceAllText)、共有権限の設定(Drive API の permissions.create)です。テキスト差し替えはプレースホルダー文字列を指定して一括置換できるため、テンプレート運用との相性が良い設計になっています。
| 方法 | できること | 向いている場面 | 制約 |
|---|---|---|---|
| Claude Code + Slides API | テンプレート複製、テキスト差し替え、共有権限設定、バッチ生成 | チーム共有前提の量産、Google Workspace環境 | API有効化とサービスアカウント設定が必要 |
| NotebookLM | ソース資料からの要約スライド生成 | 調査資料の整理、インプットの構造化 | テンプレート指定やバッチ処理には非対応 |
| 手作業(Googleスライド GUI) | 自由なデザイン、アニメーション、細かい配置 | 1回限りの重要プレゼン、デザイン重視 | 繰り返し作業に時間がかかる、共有設定の手動管理 |
Claude Code を使う利点は、API 呼び出しのコードが自然言語の指示から生成されるためPython の細かい文法を覚える必要がないこと、そして生成されたコードがそのままスクリプトとして再利用できることです。
サービスアカウント設定
Slides API を使うには、Google Cloud Console で認証情報を設定する必要があります。認証方式は2種類あり、用途に応じて選びます。
- サービスアカウント認証:バッチ処理やCI/CDからの自動実行に向いている。人の操作なしにスクリプトが定期実行できる。Google Workspace の管理者がドメイン全体の委任を設定すれば、組織内ユーザーのファイルにもアクセス可能。
- OAuth 2.0 認証:個人のGoogleアカウントで認証する方式。初回にブラウザで同意画面を操作する必要がある。個人利用やPoC段階ではこちらの方がセットアップが軽い。
実務でバッチ処理を回す場合はサービスアカウントが基本です。Claude Code への指示は次のような形になります。
# Claude Codeへの指示例
「Google Slides APIを使ってテンプレートスライドを複製するPythonスクリプトを作ってください。
認証はサービスアカウントのJSONキーファイルを使います。
キーファイルのパスは credentials/service_account.json です。
必要なスコープは slides と drive の読み書きです。」
Claude Code はこの指示から、google-auth ライブラリでの認証コード、googleapiclient での API クライアント初期化、スコープ設定までを一括で生成します。生成されたコードの認証部分は、プロジェクト内で使い回せるモジュールとして切り出しておくと、後続のスクリプトで再利用しやすくなります。
テンプレートスライドの複製とテキスト差し替え
認証が通ったら、テンプレートとなるGoogleスライドを Drive API で複製し、Slides API でテキストを差し替えるのが基本ワークフローです。ディレクトリ構成は次のようにします。
slides-automation/
├── credentials/
│ └── service_account.json # サービスアカウントのキーファイル
├── config/
│ └── template_mapping.json # テンプレートIDとプレースホルダーの対応表
├── data/
│ └── variables.json # 差し替え用の変数データ
├── generate_slides.py # メインスクリプト
├── output_log/ # 生成ログ(スライドURL、生成日時)
└── requirements.txt # google-api-python-client, google-auth
処理の流れは3ステップです。まず Drive API の files.copy でテンプレートスライドを複製し、新しいプレゼンテーション ID を取得します。次に Slides API の presentations.batchUpdate で replaceAllText リクエストを送り、{{company_name}} や {{proposal_date}} などのプレースホルダーを実データに差し替えます。最後に生成されたスライドの URL をログに記録します。
Claude Code への指示は次のような形です。
# Claude Codeへの指示例
「template_mapping.json に定義されたテンプレートIDのGoogleスライドを複製し、
variables.json の値でプレースホルダーを一括差し替えするスクリプトを作ってください。
プレースホルダーは {{key}} 形式です。
複製後のスライドURLを output_log/generated.csv に追記してください。」
テンプレート設計のポイントは、プレースホルダーの命名規則を先に決めておくことです。python-pptx ではプレースホルダーの idx 管理が煩雑になりますが、Slides API の replaceAllText はテキスト文字列をそのまま検索・置換するため、{{company_name}} のような明示的な記法にしておけば管理がシンプルになります。
チーム共有リンクの自動発行
Googleスライド自動化の最大の利点は、生成されたスライドがそのままクラウド上に存在し、URLを共有するだけでチーム全員がアクセスできることです。PowerPoint のように .pptx ファイルをメールで送付したり、ファイルサーバーにアップロードしたりする手順が不要になります。
共有設定は Drive API の permissions.create で自動化できます。Claude Code に次のように指示すれば、権限設定のコードも一括で生成されます。
# Claude Codeへの指示例
「生成したスライドに対して、以下の共有設定を自動で適用するコードを追加してください。
- 営業チーム(sales-team@example.com)に編集権限を付与
- マネージャー(manager@example.com)にコメント権限を付与
- 組織内の全員にリンクを知っている人が閲覧できる設定を適用
設定完了後、共有URLをSlackに通知するWebhook送信も追加してください。」
permissions.create の role パラメータで writer(編集)、commenter(コメント)、reader(閲覧)を指定し、type パラメータで user(個人)、group(グループ)、domain(組織全体)、anyone(全員)を制御します。バッチ生成の場合、生成ループの中で共有設定まで含めて処理すれば、スライドが生成された時点でチーム全員がアクセスできる状態になります。
共有設定の自動化は、提案書を顧客ごとに量産する場面で特に効果があります。営業担当に編集権限、上長にコメント権限を自動付与し、生成URLをチャットに通知するまでを1スクリプトで回せます。
PowerPoint(python-pptx)との使い分け
Claude Code でスライドを自動化する場合、Google Slides API と python-pptx のどちらを選ぶかは、チームの作業環境で決まります。
- Google Workspace がメインの組織:Slides API を選ぶ。クラウド上で共同編集が完結し、共有リンクの自動発行もできる。
- Microsoft 365 がメインの組織:python-pptx を選ぶ。ローカルで .pptx ファイルを生成し、既存のファイルサーバーやSharePoint で共有する。
- 社外提出が多い場合:python-pptx で .pptx を出力する方が汎用性が高い。Googleスライドからも .pptx エクスポートは可能だが、書式のズレが出ることがある。
python-pptx を使ったパワポ自動化の詳細は Claude Codeでパワポ自動化する方法 で解説しています。両方の環境がある組織では、社内共有用は Slides API、社外提出用は python-pptx と使い分けるのが実務的です。
よくある質問
図形やグラフも操作できる?
Google Slides API は図形(shapes)の追加・移動・サイズ変更に対応しています。グラフについては、Googleスライドに埋め込まれたスプレッドシート連携グラフを Sheets API 経由でデータ更新し、スライド側で refreshSheetsChart リクエストを送ることで反映できます。ただし、グラフのデザイン変更やアニメーション制御は API の対応範囲外です。複雑なグラフが必要な場合は、スプレッドシート側でデザインを完成させてからスライドに埋め込む運用が安定します。
Google Apps Scriptとの違いは?
Google Apps Script(GAS)もスライド操作が可能ですが、実行環境がGoogleのサーバー上に限定されます。Claude Code + Slides API の構成はローカル環境やCI/CDから実行でき、Python のエコシステム(pandas、requests など)をそのまま使えるのが違いです。GAS は Google Workspace 内で完結する小規模な自動化に向いており、外部データソースとの連携やバッチ処理の規模が大きくなる場合は Python + Slides API の方が拡張しやすくなります。
NotebookLMのスライド機能との違いは?
NotebookLM はアップロードしたソース資料から要約スライドを生成する機能を持っていますが、テンプレートの指定、プレースホルダーの差し替え、バッチ生成には対応していません。NotebookLM は「調査資料を構造化してスライドの叩き台を作る」場面に向いており、Claude Code + Slides API は「テンプレートに沿って量産する」場面に向いています。両者は競合ではなく、用途が異なります。NotebookLM の詳細は NotebookLMでPPTXを扱う方法 を参照してください。
オフライン環境でも使える?
Google Slides API はクラウドサービスへの API 通信が必須のため、オフライン環境では使用できません。オフラインでスライドを生成する必要がある場合は、python-pptx でローカルに .pptx を出力する構成を選択してください。オンライン環境に戻った後、生成した .pptx を Google ドライブにアップロードして Googleスライド形式に変換することは可能です。
公開情報と責任主体
本記事は2026年2月20日時点の公開情報をもとに構成しています。Google Slides API の仕様や Claude Code の機能は継続的に更新されるため、最新の動作は各公式ドキュメントで確認してください。記事中のコード例は考え方の説明を目的としたものであり、特定の環境での動作を保証するものではありません。導入判断は各組織の責任において行ってください。
関連ページと関連記事
Googleスライド自動化の周辺を固めたい場合は、以下の記事で関連テーマを確認できます。
- Claude Codeでパワポ自動化する方法:python-pptx を使った PowerPoint 自動化の手順を解説しています。社外提出用スライドとの使い分けに。
- NotebookLMでPPTXを扱う方法:NotebookLM のスライド関連機能を整理しています。要約スライドの生成アプローチとの比較に。
- GoogleスプレッドシートのAI活用:Sheets API と連携したデータ管理の自動化を扱っています。スライドのデータソースとしても参考になります。
- Claude Codeで提案書を一括生成する方法:テンプレート×顧客データのバッチ処理パターンを解説しています。
- Claude Codeでビジネス文書ワークフローを構築する方法:スライド以外の文書自動化も含めた全体設計の参考に。
- GeminiとNotebookLMの使い分け:Google AI ツール全般の位置づけを整理しています。
Googleスライド自動化をPoCから固めたい場合
サービスアカウントの設定、テンプレートの設計、共有権限のポリシー策定まで含めて、自社の業務に合った形で自動化を進めたい場合は、PoCの範囲設定から相談できます。
PoC設計で先に決めておくと早い3項目
- 自動化したいスライドの種類(提案書、月次報告、セミナー資料)と月間作成件数を把握する
- 認証方式(サービスアカウント or OAuth)と Google Workspace の管理権限を確認する
- 共有先の権限ポリシー(誰に編集権限、誰に閲覧権限)を整理する
この3点があると、最小構成のPoCを1週間で設計しやすくなります。