您可以透過 GoogleSlide API 建立、移動及刪除投影片。本頁的範例說明如何使用 presentations.batchUpdate
方法進行一些常見的投影片作業。
這些範例使用下列變數:
- PRESENTATION_ID:代表您在何處提供呈現 ID。您可以從簡報網址發掘這個 ID 的值。
- PAGE_ID 和 PAGE_ID2:代表您在何處提供頁面物件 ID。您可以透過網址或使用 API 讀取要求擷取此值。
這些範例是以 HTTP 要求形式呈現為中立語言。如要瞭解如何使用 Google API 用戶端程式庫以不同語言實作批次更新,請參閱下列指南:「建立投影片」和「新增形狀和文字」。
複製投影片
以下 presentations.batchUpdate
程式碼範例說明如何使用 DuplicateObjectRequest
方法複製投影片,並在原始簡報後插入投影片。原始投影片由 PAGE_ID 指定。
透過要求,您可以指定是否應在副本中納入部分或所有的頁面元素 ID (須設有一些限制)。在這個範例中,原始投影片包含由 TABLE_ELEMENT_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
建立投影片,並將其插入為簡報中的第四張投影片 (使用以零為基礎的 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
方法擷取兩張指定的投影片,並將這些投影片移到簡報的開頭,以維持其相對順序。
指定的投影片 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
方法,以內容網址的形式傳回網頁的縮圖圖片,藉此產生簡報中特定頁面的最新版本縮圖。圖片網址的預設生命週期為 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" }