您可以使用 Google 簡報 API 建立、移動及刪除投影片。本頁的範例說明如何使用 presentations.batchUpdate
方法執行一些常見的投影片作業。
這些範例使用下列變數:
- PRESENTATION_ID:指出您提供簡報 ID 的位置。您可以從簡報網址找出這個 ID 的值。
- PAGE_ID 和 PAGE_ID2:指出您提供網頁物件 ID 的位置。您可以從網址或透過 API 讀取要求,擷取這個值。
這些範例以 HTTP 要求的形式呈現,因此不限語言。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱下列指南:建立投影片和新增圖案和文字。
複製投影片
下列程式碼範例說明如何使用 DuplicateObjectRequest
方法複製投影片,並將副本插入簡報中原始投影片的後面。presentations.batchUpdate
原始投影片是由 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
方式,插入為第四張投影片)。
新投影片會使用 PredefinedLayout
的 TITLE_AND_TWO_COLUMNS
。您可以指定要用做投影片 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", } }, ] }
將投影片移到新位置
下列程式碼範例說明如何使用 UpdateSlidesPositionRequest
方法,將兩個指定投影片移至簡報開頭,並維持相對順序。presentations.batchUpdate
指定的投影片 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" }