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_TABLE_ELEMENT_ID で指定)にマッピングされています(COPY_PAGE_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
は、移動が行われる前の順序に基づいて、スライドの挿入位置を示します。値は 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 分です。
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" }