Google Slides API を使用すると、スライドの作成、移動、削除ができます。このページの例では、presentations.batchUpdate
メソッドを使用した一般的なスライド操作を示します。
サンプルで使用する変数は次のとおりです。
- PRESENTATION_ID - プレゼンテーション ID を指定する場所を示します。この ID の値はプレゼンテーションの URL で確認できます。
- PAGE_ID と PAGE_ID2 - ページ オブジェクト ID を指定する場所を示します。この ID の値は URL から、または API の読み取りリクエストを使用して取得できます。
これらの例では、特定の言語に依存しない HTTP リクエストの形式を採用しています。Google API クライアント ライブラリを使用してバッチ アップデートをさまざまな言語で実装する方法については、スライドの作成とシェイプとテキストの追加のガイドをご覧ください。
スライドをコピーする
次の presentations.batchUpdate
コードサンプルは、DuplicateObjectRequest
メソッドを使用してスライドをコピーし、プレゼンテーションの元のスライドの後に挿入する方法を示しています。コピー元のスライドは PAGE_ID で指定します。
このリクエストでは、コピーする一部あるいはすべてのページ要素の ID を指定できます(いくつかの制限事項があります)。この例では、元のスライドにある表要素(TABLE_ELEMENT_ID で指定)が、コピーしたスライド(COPY_PAGE_ID で指定)上にある新しい表(COPY_TABLE_ELEMENT_ID で指定)にマッピングされます。コピー上の他のすべての要素にはランダムな ID が付与されます。
テキスト ボックス、画像、表、基本的なシェイプ、線、埋め込み動画など、PageElement
のコピーの詳細については、サンプルの要素のコピーと編集をご覧ください。
スライドをコピーするリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "duplicateObject": { "objectId": PAGE_ID, "objectIds": { "PAGE_ID": "COPY_PAGE_ID", "TABLE_ELEMENT_ID": "COPY_TABLE_ELEMENT_ID" } } } ] }
スライドを作成する
次の presentations.batchUpdate
コードサンプルは、CreateSlideRequest
メソッドを使用してスライドを作成し、(ゼロベースの insertionIndex
を使用して)プレゼンテーションに 4 番目のスライドとして挿入する方法を示しています。
新しいスライドは、TITLE_AND_TWO_COLUMNS
の PredefinedLayout
を使用するように設定されています。スライドの PAGE_ID として使用する文字列を指定できます(一部の制限事項があります)。または、リクエストのフィールドを省略して、API で PAGE_ID を生成することもできます。
スライドを作成するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": "PAGE_ID", "insertionIndex": 3, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" } } } ] }
スライドを作成してプレースホルダを変更する
次の presentations.batchUpdate
コードサンプルは、CreateSlideRequest
メソッドを使用して TITLE_AND_TWO_COLUMNS
の PredefinedLayout
を使用してスライドを作成する方法を示しています。
スライドの PAGE_ID として使用する文字列を指定できます(一部の制限事項があります)。placeholderIdMappings
は TITLE
の Type
を使用します。TITLE_ID はスライドのプレースホルダ シェイプを参照するため、変更できます。
スライドを作成してプレースホルダを変更するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSlide": { "objectId": PAGE_ID, "slideLayoutReference": { "predefinedLayout": "TITLE_AND_TWO_COLUMNS" }, "placeholderIdMappings": [ { "layoutPlaceholder": { "type": "TITLE", "index": 0 }, "objectId": TITLE_ID, }, ], } }, { "insertText": { "objectId": TITLE_ID, "text": "This is my slide title", } }, ] }
スライドを新しい位置に移動する
次の presentations.batchUpdate
コードサンプルは、UpdateSlidesPositionRequest
メソッドを使用して、指定した 2 つのスライドを取得し、それらの相対的な順序を保ったままプレゼンテーションの先頭に移動する方法を示しています。
指定するスライド ID(PAGE_ID と PAGE_ID2)は、重複することなく、既存のプレゼンテーションの順序に従って指定する必要があります。ゼロベースの insertionIndex
は、移動前の順序に基づいてスライドを挿入する場所を示します。値は 0 ~プレゼンテーション内のスライド数(両端を含む)の範囲で指定する必要があります。
スライドを新しい位置に移動するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateSlidesPosition": { "slideObjectIds": [ PAGE_ID, PAGE_ID2 ], "insertionIndex": 0 } } ] }
スライドの背景画像を設定する
次の presentations.batchUpdate
コードサンプルは、UpdatePagePropertiesRequest
メソッドを使用して、PAGE_ID で指定されたスライドの背景画像を設定する方法を示しています。API は IMAGE_URL を使用して画像を取得します。
フィールド マスクは、スライドの背景のみを変更し、他のプロパティを保持するように指定するために使用します。フィールド マスクを使用すると、パフォーマンスも向上します。
または、UpdatePagePropertiesRequest
メソッドを使用して、スライドの背景を無地に設定することもできます。
スライドの背景画像を設定するリクエスト プロトコルは次のとおりです。
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageProperties": { "objectId": PAGE_ID, "pageProperties": { "pageBackgroundFill": { "stretchedPictureFill": { "contentUrl": IMAGE_URL } } }, "fields": "pageBackgroundFill" } } ] }
サムネイルを生成
プレゼンテーション内の特定のページの最新バージョンのサムネイルを生成するには、presentations.pages.getThumbnail
メソッドを呼び出します。このメソッドは、ページのサムネイル画像をコンテンツ URL として返します。画像 URL のデフォルトの有効期間は 30 分です。
返される mimeType
と thumbnailSize
を指定するには、ThumbnailProperties
フィールドをクエリ パラメータとして使用します。
ThumbnailProperties
が設定されたページのサムネイルを生成するリクエスト プロトコルは次のとおりです。
GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID/thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{ "width": 800, "height": 450, "contentUrl": "CONTENT_URL" }