Google Slides API を使用すると、スライドの作成、移動、削除を行うことができます。このページの例では、presentations.batchUpdate
メソッドを使用した一般的なスライド操作を示しています。
これらの例では、次の変数を使用します。
- PRESENTATION_ID - プレゼンテーション ID を指定する場所を示します。この ID の値は、プレゼンテーションの URL から確認できます。
- PAGE_ID と PAGE_ID2 - ページ オブジェクト 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" }