Google Slides API を使用すると、プレゼンテーション ファイルを作成したり、既存のファイルを管理したりできます。このページの例では、presentations.batchUpdate メソッドを使用した一般的なページ プレゼンテーション操作を示します。
これらの例は、言語に依存しない HTTP リクエストとして示されています。Google API クライアント ライブラリを使用してさまざまな言語でバッチ更新を実装する方法については、次のガイドをご覧ください。
プレゼンテーションを作成する
次の presentations.create コードサンプルは、「My New Presentation」というタイトルの空白のプレゼンテーション ファイルを作成する方法を示しています。
Google Drive API の files.create メソッドで application/vnd.google-apps.presentation を MIME タイプとして指定することで、空白のプレゼンテーション ファイルを作成することもできます。
プレゼンテーションを作成するリクエスト プロトコルは次のとおりです。
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."
}
}
]
}