Google Sheets 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
メソッドを使用してスライドを作成し、プレゼンテーションに 4 枚目のスライド(ゼロベースの insertionIndex
を使用)として挿入する方法を示しています。
新しいスライドは、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
は、移動が行われる前の順序に基づいてスライドを挿入する場所を示します。この値はゼロからプレゼンテーションのスライド数までの範囲で指定する必要があります。
スライドを新しい位置に移動するためのリクエスト プロトコルは次のとおりです。
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 分です。
ThumbnailProperties
フィールドをクエリ パラメータとして使用して返される mimeType
と thumbnailSize
を指定することもできます。
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" }