簡報 API 可讓您在簡報頁面上新增及修改元素。本頁的範例說明如何使用 presentations.BatchUpdate 方法執行常見的讀取作業。
這些範例使用以下變數:
- presentationId:指出您提供簡報 ID 的位置。您可以從簡報網址找到這個 ID 的值。
- pageId:指出您提供頁面物件 ID 的位置。您可以透過網址或使用 API 讀取要求擷取此值。
- pageElementId:指出您提供網頁元素物件 ID 的位置。您可以為自己建立 (有一些限制) 的元素指定這個 ID,或允許 API 自動建立元素 ID;您可以透過 API 讀取要求擷取元素 ID。
在投影片中加入文字方塊
下列 presentations.BatchUpdate 要求會在 pageId 指定的投影片中新增文字方塊 (包含「My Add Text Box」字串)。要求主體中指定兩個要求,一個要求建立文字方塊 (具有指定的大小和位置),第二次則要在當中插入文字。
第一個要求會指定用於文字方塊的物件 ID。如此一來,第二個要求就會在相同 API 呼叫中修改,進而降低負擔。
要求通訊協定如下所示。新增文字和形狀指南中的範例,說明如何使用 Google API 用戶端程式庫,以不同語言實作批次更新。
POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{ "requests": [ { "createShape": { "objectId": pageElementId, "shapeType": "TEXT_BOX", "elementProperties": { "pageObjectId": pageId, "size": { "width": { "magnitude": 150, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } }, { "insertText": { "objectId": pageElementId, "text": "My Added Text Box", "insertionIndex": 0 } } ] }
在投影片中新增圖片
下列 presentations.BatchUpdate 要求將新圖片新增至 pageId 指定的投影片。該圖片是透過提供 API 擷取來源網址 (imageUrl) 來指定。這項要求會縮放及調整投影片中的圖片位置。
要求通訊協定如下所示。新增文字和形狀指南中的範例,說明如何使用 Google API 用戶端程式庫,以不同語言實作批次更新。
POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{ "requests": [ { "createImage": { "url": imageUrl, "elementProperties": { "pageObjectId": pageId, "size": { "width": { "magnitude": 30, "unit": "PT" }, "height": { "magnitude": 30, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 200, "translateY": 100, "unit": "PT" } } } } ] }
刪除網頁或網頁元素
以下 presentations.BatchUpdate 要求會使用兩個不同要求來刪除 pageElementId 指定的頁面元素和 pageId 指定的投影片。
要求通訊協定如下所示。新增文字和形狀指南中的範例,說明如何使用 Google API 用戶端程式庫,以不同語言實作批次更新。
POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{ "requests": [ { "deleteObject": { "objectId": pageElementId }, "deleteObject": { "objectId": pageId } } ] }
編輯指定形狀中的文字
下列 presentations.BatchUpdate 要求會取代 pageElementId 指定形狀中呈現的文字部分。為此,請先刪除起始索引開始的文字,然後在該位置插入新文字。在此範例中,原始文字字串「My Shape Text: ????」會替換為「My Shape Text: Trapezoid」。
此要求只會影響單一指定形狀中的文字。如要取代簡報中所有位置的文字,請使用 ReplaceAllTextRequest 要求。
要求通訊協定如下所示。新增文字和形狀指南中的範例,說明如何使用 Google API 用戶端程式庫,以不同語言實作批次更新。
POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{ "requests": [ { "deleteText": { "objectId": pageElementId, "textRange": { "type": "FROM_START_INDEX", "startIndex": 15 } } }, { "insertText": { "objectId": pageElementId, "text": "Trapezoid", "insertionIndex": 15 } } ] }
以圖片取代形狀標記
以下 presentations.BatchUpdate 要求以圖片取代標記形狀的單一例項,保留相同位置,並配合標記的大小縮放圖片,同時維持圖片的長寬比。該要求也可以用來替換某張圖片。要求包括新增映像檔,然後刪除標記。
此要求只會取代一個指定的形狀。如要取代簡報中所有位置的標記形狀,請使用 replaceAllShapesWithImage 要求。
標記形狀包含下列屬性 (可透過 presentations.pages.get 要求取得):
{ "objectId": pageElementId, "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" } }
這個形狀位於 pageId 指定的投影片上。如要指定將取代形狀的圖片,請提供用於擷取圖片的 API 網址 (imageUrl)。為了在限制圖片的長寬比時,將圖片的顯示比例限制在標記大小,createImage 要求會將圖片大小設為標記大小和縮放比例的產品,並將圖片縮放比例係數設為 1
(請參閱保留顯示比例指南)。
POST https://slides.googleapis.com/v1/presentations/presentationId:batchUpdate
{ "requests": [ { "createImage": { "url": imageUrl, "elementProperties": { "pageObjectId": pageId, "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": pageElementId } } ] }