Google スライド 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 は、移動前の順序に基づいて、スライドを挿入する場所を示します。値は 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"
}