Google 簡報 API 可讓您在簡報頁面上新增及修改元素。本頁的範例將說明如何使用 presentations.batchUpdate
方法執行常見的讀取作業。
這些範例使用下列變數:
- PRESENTATION_ID:指出您提供呈現 ID 的位置。您可以透過顯示網址探索這個 ID 的值。
- PAGE_ID:指出您在何處提供頁面物件 ID。您可以從網址或使用 API 讀取要求擷取這個值。
- PAGE_ELEMENT_ID:指出您在何處提供網頁元素物件 ID。您可以為自己建立的元素 (設有部分限制) 指定此 ID,或讓 Slide API 自動建立。您可以透過 API 讀取要求擷取元素 ID。
以下範例是以 HTTP 要求為不受語言限制。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「新增形狀和文字」一文。
在投影片中加入文字方塊
以下 presentations.batchUpdate
程式碼範例說明如何使用 CreateShapeRequest
方法,在 PAGE_ID 指定的投影片中加入新的文字方塊 (含有「My Add Text Box」字串)。系統會在要求主體中指定兩個要求,一個用來建立文字方塊形狀 (指定大小和位置),另一個則用於在其中插入文字。
第一個要求會指定文字方塊要使用的物件 ID。這樣就能讓第二個要求在同一個 API 呼叫中使用,減少負擔。
以下要求通訊協定可用於在投影片中新增文字方塊:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
在投影片中加入圖片
下列 presentations.batchUpdate
程式碼範例說明如何使用 CreateImageRequest
方法,將圖片加入 PAGE_ID 指定的投影片。API 使用 IMAGE_URL 擷取圖片。這個要求也會縮放圖片在投影片中的位置。
以下是將圖片新增至投影片的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
刪除網頁或網頁元素
以下 presentations.batchUpdate
程式碼範例說明如何使用 DeleteObjectRequest
方法,透過兩個不同的要求刪除 PAGE_ELEMENT_ID 指定的頁面元素和 PAGE_ID 指定的投影片。
以下為刪除網頁或網頁元素的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": PAGE_ELEMENT_ID }, "deleteObject": { "objectId": PAGE_ID } } ] }
編輯指定形狀中的文字
以下 presentations.batchUpdate
程式碼範例說明如何使用 DeleteTextRequest
方法,取代 PAGE_ELEMENT_ID 指定形狀中的部分文字。為此,請先使用從零開始的 startIndex
刪除文字,然後在該位置插入新文字。在這個範例中,原始文字字串「My Shape Text: ????」已由「My Shape Text: Trapezoid」取代。
這項要求只會影響指定形狀中的文字。如要取代簡報中所有位置的文字,請使用 ReplaceAllTextRequest
方法。
以下是要求通訊協定,可用於編輯指定形狀文字的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "deleteText": { "objectId": PAGE_ELEMENT_ID, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "Trapezoid", "insertionIndex": 15 } } ] }
將形狀標記換成圖片
標記是具有專屬字串名稱的文字方塊或形狀,例如「帳戶持有人名稱」。
以下 presentations.batchUpdate
程式碼範例說明如何使用 CreateImageRequest
方法,將形狀標記的單一執行個體換成圖片,保持相同位置,並配合標記大小縮放圖片,以符合圖片的顯示比例。
這項要求也可用來替換圖片。該要求包括新增圖片,然後刪除標記。
CreateImageRequest
方法只會取代指定形狀。如要取代簡報內所有位置的標記形狀,請使用 ReplaceAllShapesWithImageRequest
方法。
形狀標記具有下列 PageElement
屬性 (您可以使用 presentations.pages.get
要求找到這些屬性):
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 1.13, "scaleY": 0.62, "translateX": 4800000, "translateY": 450000, "unit": "EMU" }, "shape": { "shapeType": "RECTANGLE" } }
形狀位於 PAGE_ID 指定的投影片上。為了指定取代形狀的圖片,API 會使用 IMAGE_URL 擷取圖片。為了保留圖片長寬比,同時限制圖片的尺寸,CreateImageRequest
方法會將圖片大小設為標記大小和縮放比例的乘積,並將圖片縮放比例係數設為 1
。詳情請參閱「保留顯示比例」。
以下要求通訊協定可將形狀標記替換為圖片:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createImage": { "url": IMAGE_URL, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000 * 1.13, "unit": "EMU" }, "height": { "magnitude": 3000000 * 0.62, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4800000, "translateY": 450000, "unit": "PT" } } } }, { "deleteObject": { "objectId": PAGE_ELEMENT_ID } } ] }