Google Slides API 可讓您建立及編輯
PageElement
敬上
包括文字方塊、圖片、表格、基本形狀、線條和
嵌入的影片本頁的範例為一些常見的網頁元素
並使用指令執行
presentations.batchUpdate
敬上
方法。
這些範例使用下列變數:
- PRESENTATION_ID:代表您在何處提供 簡報 ID:你可以 從呈現網址擷取這個 ID 的值。
- PAGE_ID:指示您在提供網頁物件的位置。 ID:您可以擷取 該網址的值,或是使用 API 讀取要求。
- PAGE_ELEMENT_ID:表示您提供頁面 元素物件 ID。個人中心 可以為您建立的元素指定此 ID (有 限制) 或允許 Slides API 自動建立投影片。元素 ID 可透過 API 讀取要求擷取。
這些範例會顯示為中立語言的 HTTP 要求。學習 如何使用 Google API 實作不同語言版本的批次更新 用戶端程式庫,請參閱下列指南:
在文字方塊中新增項目符號清單
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
InsertTextRequest
方法,將文字插入
PAGE_ELEMENT_ID。接著,範例會使用
CreateParagraphBulletsRequest
敬上
方法,將所有文字方塊文字轉換為項目符號清單。清單中的項目
由 \n
個字元分隔,縮排則可使用 \t
控制
字元。
以下是建立簡報的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My List\n\tItem 1\n\t\tItem 2\n\t\t\tItem 3", "insertionIndex": 0 }, "createParagraphBullets": { "objectId": PAGE_ELEMENT_ID, "bulletPreset": "BULLET_ARROW_DIAMOND_DISC", "textRange": { "type": "ALL" } } } ] }
這項要求可以建立項目符號清單,如下所示:
在投影片中加入圖案
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
CreateShapeRequest
方法,將波形形狀新增至 PAGE_ID 指定的投影片。
此要求指定形狀類型,然後縮放及定位形狀
然後使用
InsertTextRequest
敬上
方法,將文字加入該形狀。此要求將行的 ID 設定為
PAGE_ELEMENT_ID。
以下是在投影片中新增形狀的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "objectId": PAGE_ELEMENT_ID, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 0.6807, "scaleY": 0.4585, "translateX": 6583050, "translateY": 1673950, "unit": "EMU" } }, "shapeType": "WAVE" } }, { "insertText": { "objectId": PAGE_ELEMENT_ID, "text": "My Wave Shape", "insertionIndex": 0 } } ] }
在投影片中加入影片
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
CreateVideoRequest
方法,將影片嵌入由 PAGE_ID 指定的投影片。
這項要求會縮放影片並在投影片中放置,並設定影片的
ID 為 PAGE_ELEMENT_ID。來源影片的專屬 ID 為
已設為「VIDEO_ID」。例如,位於
https://www.youtube.com/watch?v=7U3axjORYZ0
敬上
ID 為 7U3axjORYZ0
。
如要在投影片中新增影片,請遵循下方的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createVideo": { "objectId": PAGE_ELEMENT_ID, "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 12000, "unit": "EMU" }, "height": { "magnitude": 9000, "unit": "EMU" } }, "transform": { "scaleX": 381, "scaleY": 381, "translateX": 152400, "translateY": 152400, "unit": "EMU" } }, "source": "YOUTUBE", "id": VIDEO_ID } } ] }
複製並編輯元素
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
DuplicateObjectRequest
方法來接受現有形狀 (由
PAGE_ELEMENT_ID),然後建立副本 (由
COPY_ELEMENT_ID)。
後續要求則對重複的物件做出下列變更:
- 將背景顏色設為
LIGHT2
主題顏色。 - 將圖片向下移動 (從原始形狀的位置)。
- 將文字字型設為 18-pt Georgia。
- 將文字編輯成「My Shape Copy」。
這裡的要求會使用欄位遮罩保留 不會變更的形狀屬性 (例如外框樣式)。使用 欄位遮罩也有助於提升效能。
如要進一步瞭解如何複製投影片,請參閱「複製 投影片。
以下是複製及編輯元素的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "duplicateObject": { "objectId": PAGE_ELEMENT_ID, "objectIds": { PAGE_ELEMENT_ID: COPY_ELEMENT_ID } } }, { "updateShapeProperties": { "objectId": COPY_ELEMENT_ID, "fields": "shapeBackgroundFill.solidFill.color", "shapeProperties": { "shapeBackgroundFill": { "solidFill": { "color": { "themeColor": "LIGHT2" } } } } } }, { "updatePageElementTransform": { "objectId": COPY_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 0, "translateY": 1250000, "unit": "EMU" } } }, { "updateTextStyle": { "objectId": COPY_ELEMENT_ID, "fields": "fontFamily,fontSize", "textRange": { "type": "ALL" }, "style": { "fontFamily": "Georgia", "fontSize": { "magnitude": 18, "unit": "PT" } } } }, { "deleteText": { "objectId": COPY_ELEMENT_ID, "textRange": { "type": "ALL" } } }, { "insertText": { "objectId": COPY_ELEMENT_ID, "text": "My Shape Copy", "insertionIndex": 0 } } ] }
變更後的形狀及文案如下:
編輯圖片或影片大綱
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
UpdateImagePropertiesRequest
方法來更新由
IMAGE_ELEMENT_ID。此元件也會使用
UpdateVideoPropertiesRequest
敬上
方法來更新由
VIDEO_ELEMENT_ID。
該要求會對物件進行下列變更:
- 將圖片外框顏色設為含有部分內容的
ACCENT5
主題顏色 資訊公開。 - 將影片外框顏色設為
ACCENT1
主題顏色,但沒有 資訊公開。 - 將兩者的外框粗細設為 3 分。
- 將圖片外框樣式設為
SOLID
。 - 將影片大綱樣式設為
DASH_DOT
。
UpdateImagePropertiesRequest
方法和
UpdateVideoPropertiesRequest
方法只能變更圖片外觀
影片大綱所有其他屬性皆為唯讀屬性。這裡的要求會使用
欄位遮罩,可以只指定外框
以防止程式碼日後發生 API 變更。使用欄位
口罩也有助於提高效能。
下列是編輯圖片或影片大綱的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateImageProperties": { "objectId": IMAGE_ELEMENT_ID, "fields": "outline", "imageProperties": { "outline": { "dashStyle": "SOLID", "outlineFill": { "solidFill": { "alpha": 0.8, "color": { "themeColor": "ACCENT5" } } }, "weight": { "magnitude": 3, "unit": "PT" } } } } }, { "updateVideoProperties": { "objectId": VIDEO_ELEMENT_ID, "fields": "outline", "videoProperties": { "outline": { "dashStyle": "DASH_DOT", "outlineFill": { "solidFill": { "alpha": 0.8, "color": { "themeColor": "ACCENT1" } } }, "weight": { "magnitude": 3, "unit": "PT" } } } } } ] }
圖片和影片完成這些更新後,看起來會像這樣:
編輯形狀的外框
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
UpdateShapePropertiesRequest
方法來接受現有形狀 (由
PAGE_ELEMENT_ID),並更新其外框外觀。
該要求會對物件進行下列變更:
- 將外框顏色設為含有部分內容的
ACCENT5
主題顏色 資訊公開。 - 將外框粗細設為 3 分。
- 將外框樣式設為
LONG_DASH
。
這裡的要求會使用欄位遮罩保留 未變更的形狀屬性 (例如形狀填滿顏色)。使用 欄位遮罩也有助於提升效能。
下列是編輯形狀外框的要求通訊協定:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateShapeProperties": { "objectId": PAGE_ELEMENT_ID, "fields": "outline", "shapeProperties": { "outline": { "dashStyle": "LONG_DASH", "outlineFill": { "solidFill": { "alpha": 0.6, "color": { "themeColor": "ACCENT5" } } }, "weight": { "magnitude": 3, "unit": "PT" } } } } } ] }
完成這些更新後,形狀可能如下所示:
設定圖案或文字方塊的文字格式
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
UpdateTextStyleRequest
方法來接受現有形狀 (由
PAGE_ELEMENT_ID),並更新其文字的外觀。
該要求會對物件進行下列變更:
- 將文字顏色設為
ACCENT5
主題顏色。 - 將字型設為粗體、斜體 18-pt Corsiva。
- 文字加上底線。
這裡的要求會使用欄位遮罩保留 不會變更的文字樣式屬性 (例如背景顏色、 或基準偏移值)。使用欄位遮罩也有助於提升效能。
下方是要求通訊協定,用於設定形狀或文字方塊的文字格式:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updateTextStyle": { "objectId": PAGE_ELEMENT_ID, "fields": "foregroundColor,bold,italic,fontFamily,fontSize,underline", "style": { "foregroundColor": { "opaqueColor": { "themeColor": "ACCENT5" } }, "bold": true, "italic": true, "underline": true, "fontFamily": "Corsiva", "fontSize": { "magnitude": 18, "unit": "PT" } }, "textRange": { "type": "ALL" } } } ] }
更新後的形狀文字看起來會像這樣:
從 Google 試算表匯入圖表
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
CreateSheetsChartRequest
方法,從工作表匯入圖表並放到
PAGE_ID。
這項要求需要試算表 ID (由 SPREADSHEET_ID) 和試算表圖表 ID (由 SPREADSHEET_CHART_ID)。當中的圖表 ID 投影片簡報是由 PRESENTATION_CHART_ID。
請求也會設定
LinkingMode
敬上
為 LINKED
,這樣您就可以
如果來源試算表中的圖表有更新,則嵌入圖表。
以下是匯入圖表的要求通訊協定 Google 試算表:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createSheetsChart": { "objectId": PRESENTATION_CHART_ID, "spreadsheetId": SPREADSHEET_ID, "chartId": SPREADSHEET_CHART_ID, "linkingMode": "LINKED", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 4000000, "unit": "EMU" }, "height": { "magnitude": 4000000, "unit": "EMU" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 100000, "translateY": 100000, "unit": "EMU" } } } ] }
重新整理試算表中的圖表
下列
presentations.batchUpdate
敬上
程式碼範例顯示如何使用
RefreshSheetsChartRequest
方法,重新整理簡報中連結的圖表,並以最新的圖片取代
該圖表版本的圖表。
要求提供簡報投影片中的圖表 ID
(由 PRESENTATION_CHART_ID 指定)。
以下是用來重新整理圖表的要求通訊協定 Google 試算表:
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "refreshSheetsChart": { "objectId": PRESENTATION_CHART_ID } } ] }