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." } } ] }