簡介

Google Slides API 可讓您建立及修改 Google 簡報。

應用程式可整合 Google 簡報 API,根據使用者和系統提供的資料,自動建立精美投影片組。舉例來說,您可以從資料庫使用顧客詳細資料,並結合預先設計的範本和選取的設定選項,在手動建立簡報所需時間的一小部分內,完成簡報製作。

API 總覽

簡報集合提供的方法可讓您取得及更新簡報中的元素。

您使用 Google 簡報 API 時,大部分的工作可能都是建立及更新簡報。您可以使用 batchUpdate 方法執行這項操作;這個方法會採用 Request 物件清單,讓您執行下列操作:

  • 建立簡報
  • 在投影片中加入形狀或表格等元素
  • 插入、變更及移除文字
  • 對元素套用轉換
  • 變更投影片順序

詳情請參閱「批次更新」。如需如何使用 API 的簡易端對端範例,請參閱入門指南。

簡報結構

在 Google 簡報 API 中,簡報是由多個網頁組成,每個網頁都包含網頁元素。

簡報 ID 可從網址衍生而來:

https://docs.google.com/presentation/d/presentationId/edit

簡報 ID 是由字母、數字和某些特殊字元組成的字串。您可以使用下列規則運算式,從 Google 試算表網址中擷取簡報 ID:

/presentation/d/([a-zA-Z0-9-_]+)

如果您熟悉雲端硬碟 API,presentationId 對應於「檔案」資源的 ID。

頁面和頁面元素會以物件 ID 識別。

頁面

Google 簡報有下列幾種頁面:

碩士 主投影片會定義預設文字樣式、背景和頁面元素,這些元素會顯示在使用該主投影片的所有投影片中。必須顯示在所有投影片上的頁面元素應新增至母片。大多數簡報都有一個主簡報,但有些簡報可能有多個或沒有主簡報。
版面配置 版面配置是範本,可決定使用版面配置的投影片上,頁面元素預設的排列方式。每個版面配置都會與一個主版建立關聯。
簡報 這些網頁包含您向觀眾呈現的內容。 大多數投影片都是以母片和版面配置為基礎。建立投影片時,您可以指定要使用的版面配置。
附註 這些頁面包含簡報講義的內容,包括含有投影片演講者備忘稿的圖案。每張投影片都有對應的備註頁面。只有演講者備忘稿形狀中的文字可以透過 Google 簡報 API 修改。
備忘稿母片 備忘稿母片會為所有備忘稿頁面定義預設文字樣式和頁面元素。在 Google Slides API 中,附註母片為唯讀。

網頁元素

頁面元素是放置在頁面上的視覺元件。API 會公開多種網頁元素:

群組 一組視為個別單元的網頁元素。您可以一起移動、縮放及旋轉這些物件。
形狀 簡單的視覺物件,例如矩形、橢圓和文字方塊。 形狀可以包含文字,因此是最常見的頁面元素,可用於建構投影片。
圖片 匯入 Google 簡報的圖片。
影片 匯入簡報的影片。
折線圖 視覺線條、曲線或連接器。
資料表 內容格線。
WordArt 視覺文字元素,行為更像形狀。
SheetsChart 從 Google 試算表匯入簡報的圖表。

批次更新

batchUpdate 方法可讓您更新簡報的許多方面。變更會分批處理,因此如果其中一項要求失敗,系統就不會寫入其他 (可能相依的) 變更。

batchUpdate 方法會採用一或多個 Request 物件,每個物件都會指定要執行的單一要求類型。要求類型有很多種,以下是各類要求,並依不同類別分組。

使用 Google 簡報: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
使用網頁元素: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
使用資料表: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
使用圖表: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
處理圖片和影片: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
處理文字: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

batchUpdate 方法會傳回回應內文,其中包含每個要求的 Response。每個回應佔用的索引都與對應要求相同;如果要求沒有適用的回應,該索引的回應就會是空白。各種 Create 要求通常都會有回應,因此您會知道新加入物件的 ID。

使用物件 ID

在 Google 簡報 API 中,簡報是由「頁面」和「頁面元素」組成。這些物件包含物件 ID 字串,在簡報中是專屬的。

在建立時指定物件 ID

使用 batchUpdate 方法建立網頁或網頁元素時,您可以選擇為新物件指定物件 ID。您可以在同一個 batchUpdate 要求中建立及修改物件,盡量減少對 Google Slides API 的呼叫次數,並降低
配額用量

在大多數情況下,建議產生隨機物件 ID。舉例來說,如果您使用 Java,java.util.UUID.randomUUID().toString() 應該很適合。

如果應用程式想長期追蹤物件,請勿依賴物件 ID,因為物件 ID 可能會變更。詳情請參閱下節。

追蹤物件,不必使用物件 ID

提出 Google Slides API 要求時,物件 ID 通常會保留。(方法參考文件會列出所有例外狀況)。使用 Drive API 複製整個簡報時,也會保留物件 ID。

不過,在簡報 UI 中變更簡報後,您無法依賴物件 ID 維持不變。舉例來說,如果使用者透過 Google 簡報使用者介面複製並貼上頁面元素,然後刪除原始元素,頁面元素現在會擁有新的專屬 ID,而您先前透過 API 提供的 ID 將會遺失。因此,我們不建議您在應用程式的儲存空間中儲存物件 ID。請改為依據文字內容或替代文字,在簡報中尋找物件。

新建立的簡報通常會為預設投影片、母片和文字方塊使用一致的 ID 組合。這些 ID 可能會隨時間變更,因此我們不建議您使用這項功能。請改用呼叫 create()get() 傳回的簡報物件,找出要修改的元素。