Google Slides API を使用すると、プレゼンテーション ファイルを作成したり、既存のプレゼンテーション ファイルを管理したりできます。このページの例では、presentations.batchUpdate
メソッドを使用して一般的なページ表示操作を行います。
これらの例では、特定の言語に依存しない HTTP リクエストの形式を採用しています。Google API クライアント ライブラリを使用してバッチ アップデートをさまざまな言語で実装する方法については、次のガイドをご覧ください。
プレゼンテーションを作成する
次の presentations.create
コードサンプルは、「My New Presentation」というタイトルの空のプレゼンテーション ファイルを作成する方法を示しています。
Google Drive API の files.create
メソッドを使用して、MIME タイプとして application/vnd.google-apps.presentation
を指定する方法でも、空のプレゼンテーション ファイルを作成できます。
プレゼンテーションを作成するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations
{ "title": "My New Presentation" }
既存のプレゼンテーション ファイルのリストを取得する
Slides API にはプレゼンテーションのリストを取得するメソッドはありませんが、Drive API にはあります。files.list
メソッド(以下を参照)は、フィールド マスクを使用して、ドライブからプレゼンテーション ファイルのリストを返します。このリストには、ファイル ID、ファイル名、ファイルを開くリンクが含まれます。このリクエストでは、MIME タイプとして application/vnd.google-apps.presentation
も指定しています。
既存のプレゼンテーション ファイルを一覧表示するリクエスト プロトコルは次のとおりです。
GET https://www.googleapis.com/drive/v3/files?q="mimeType=application/vnd.google-apps.presentation"&fields=files(id,name,webViewLink)
このリクエストのレスポンスの構造は次のとおりです。
{ "files": [ { "id": "abcdefghijklmnopqrstuvwxyz0123456789", "name": "Project Vision", "webViewLink": "https://docs.google.com/a/google.com/presentation/d/abcdefghijklmnopqrstuvwxyz0123456789/edit?usp=drivesdk" }, { "id": "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", "name": "Untitled Presentation", "webViewLink": "https://docs.google.com/a/google.com/presentation/d/ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789/edit?usp=drivesdk" }, ... ] }
プレゼンテーション全体でテキストを置換する
次の presentations.batchUpdate
コードサンプルは、ReplaceAllTextRequest
メソッドを使用して、PRESENTATION_ID で指定されたプレゼンテーション全体のテキストを置き換える方法を示しています。プレゼンテーション ID の値は、プレゼンテーションの URL で確認できます。
ここでは「Gizmo Corp.」という文字列のインスタンスは、すべて「Gadget Inc.」というテキストで置換されます。スライドやマスター内のテキスト ボックスやその他の図形内のテキストも置換の対象です。この例では、matchCase
を true
に設定することで、テキストの置換で大文字と小文字が区別されます。
プレゼンテーション全体でテキストを置換するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "replaceAllText": { "containsText": { "text": "Gizmo Corp.", "matchCase": true }, "replaceText": "Gadget Inc." } } ] }