基本書寫

您可以使用 Google Slides API,在簡報頁面中新增及修改元素。本頁的範例說明如何使用 presentations.batchUpdate 方法執行常見的讀取作業。

這些範例使用下列變數:

  • PRESENTATION_ID:指出您提供簡報 ID 的位置。您可以從簡報網址找出這個 ID 的值。
  • PAGE_ID:指出您提供網頁物件 ID 的位置。您可以從網址或透過 API 讀取要求,擷取這個值。
  • PAGE_ELEMENT_ID:表示您提供頁面元素物件 ID 的位置。您可以為建立的元素指定這個 ID (但有部分限制),也可以讓 Google 簡報 API 自動建立 ID。元素 ID 可透過 API 讀取要求擷取。

這些範例以 HTTP 要求的形式呈現,因此不限語言。如要瞭解如何使用 Google API 用戶端程式庫,以不同語言實作批次更新,請參閱「新增圖案和文字」。

在投影片中新增文字方塊

下列程式碼範例說明如何使用 CreateShapeRequest 方法,將新的文字方塊 (內含「My Added Text Box」字串) 新增至 PAGE_ID 指定的投影片。presentations.batchUpdate要求主體中指定了兩項要求:一項是建立文字方塊形狀 (具有指定大小和位置),另一項是將文字插入其中。

第一個要求會指定要用於文字方塊的物件 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"           }         }       }     }   ] }

刪除頁面或頁面元素

下列程式碼範例說明如何使用 DeleteObjectRequest 方法,透過兩項個別要求,刪除 PAGE_ELEMENT_ID 指定的頁面元素和 PAGE_ID 指定的投影片。presentations.batchUpdate

以下是刪除頁面或頁面元素的請求通訊協定:

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       }     }   ] }

以圖片取代形狀標記

標記是具有專屬字串名稱的文字方塊或形狀,例如「account-holder-name」。

以下程式碼範例說明如何使用 CreateImageRequest 方法,將單一形狀標記例項換成圖片,同時維持相同位置,並縮放圖片以符合標記大小,同時保留圖片的長寬比。presentations.batchUpdate

這項要求也能用來替換圖片。要求包含新增映像檔,然後刪除標記。

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       }     }   ] }