投影片作業

您可以使用 Google 簡報 API 建立、移動及刪除投影片。本頁的範例說明如何使用 presentations.batchUpdate 方法執行一些常見的投影片作業。

這些範例使用下列變數:

  • PRESENTATION_ID:指出您提供簡報 ID 的位置。您可以從簡報網址找出這個 ID 的值。
  • PAGE_IDPAGE_ID2:指出您提供網頁物件 ID 的位置。您可以從網址或透過 API 讀取要求,擷取這個值。

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

複製投影片

下列程式碼範例說明如何使用 DuplicateObjectRequest 方法複製投影片,並將副本插入簡報中原始投影片的後面。presentations.batchUpdate原始投影片是由 PAGE_ID 指定。

您可以在要求中指定是否要將部分或所有網頁元素 ID 納入副本 (但有部分限制)。在這個範例中,原始投影片包含表格元素 (由 TABLE_ELEMENT_ID 指定),該元素會對應至投影片副本 (由 COPY_PAGE_ID 指定) 中的新表格 (由 COPY_TABLE_ELEMENT_ID 指定)。副本中的所有其他元素都會獲得隨機 ID。

如要進一步瞭解如何複製PageElement,包括文字方塊、圖片、表格、基本圖案、線條和內嵌影片,請參閱「複製及編輯元素」範例。

以下是複製投影片的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "duplicateObject": {
        "objectId": PAGE_ID,
        "objectIds": {
          "PAGE_ID": "COPY_PAGE_ID",
          "TABLE_ELEMENT_ID": "COPY_TABLE_ELEMENT_ID"
        }
      }
    }
  ]
}

製作投影片

下列presentations.batchUpdate程式碼範例說明如何使用 CreateSlideRequest 方法建立投影片,並將其插入簡報中 (以從零開始的 insertionIndex 方式,插入為第四張投影片)。

新投影片會使用 PredefinedLayoutTITLE_AND_TWO_COLUMNS。您可以指定要用做投影片 PAGE_ID 的字串 (有一些限制),也可以在要求中省略這個欄位,讓 API 產生 PAGE_ID

以下是建立投影片的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSlide": {
        "objectId": "PAGE_ID",
        "insertionIndex": 3,
        "slideLayoutReference": {
          "predefinedLayout": "TITLE_AND_TWO_COLUMNS"
        }
      }
    }
  ]
}

建立投影片並修改預留位置

下列 presentations.batchUpdate 程式碼範例說明如何使用 CreateSlideRequest 方法,透過 TITLE_AND_TWO_COLUMNSPredefinedLayout 建立投影片。

您可以指定要用做投影片 PAGE_ID 的字串 (但須遵守部分限制)。placeholderIdMappings 會使用 TITLETypeTITLE_ID 會參照投影片的預留位置形狀,因此可以修改。

以下是建立投影片及修改預留位置的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "createSlide": {
        "objectId": PAGE_ID,
        "slideLayoutReference": {
          "predefinedLayout": "TITLE_AND_TWO_COLUMNS"
        },
        "placeholderIdMappings": [
          {
            "layoutPlaceholder": {
              "type": "TITLE",
              "index": 0
            },
            "objectId": TITLE_ID,
           },
        ],
      }
    },
    {
      "insertText": {
        "objectId": TITLE_ID,
        "text": "This is my slide title",
      }
    },
  ]
}

將投影片移到新位置

下列程式碼範例說明如何使用 UpdateSlidesPositionRequest 方法,將兩個指定投影片移至簡報開頭,並維持相對順序。presentations.batchUpdate

指定的投影片 ID (PAGE_IDPAGE_ID2) 必須按照現有簡報順序提供,且不得重複。從零開始的 insertionIndex 表示要插入投影片的位置,依據的是移動前的順序。值必須介於零和簡報中的投影片數量之間 (含首尾)。

以下是將投影片移至新位置的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updateSlidesPosition": {
        "slideObjectIds": [
          PAGE_ID,
          PAGE_ID2
          ],
        "insertionIndex": 0
      }
    }
  ]
}

設定投影片背景圖片

下列presentations.batchUpdate程式碼範例說明如何使用 UpdatePagePropertiesRequest 方法,設定 PAGE_ID 指定的投影片背景圖片。API 會使用 IMAGE_URL 擷取圖片。

欄位遮罩用於指定只變更投影片背景,保留其他屬性。使用欄位遮罩也能提升效能。

或者,您也可以使用 UpdatePagePropertiesRequest 方法,將投影片背景設為單一顏色。

以下是設定投影片背景圖片的要求通訊協定:

POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{
  "requests": [
    {
      "updatePageProperties": {
        "objectId": PAGE_ID,
        "pageProperties": {
          "pageBackgroundFill": {
            "stretchedPictureFill": {
              "contentUrl": IMAGE_URL
            }
          }
        },
        "fields": "pageBackgroundFill"
      }
    }
  ]
}

生成縮圖

您可以呼叫 presentations.pages.getThumbnail 方法,在簡報中產生特定網頁最新版本的縮圖,該方法會以內容網址的形式傳回網頁的縮圖圖片。圖片網址的預設生命週期為 30 分鐘。

您也可以使用 ThumbnailProperties 欄位做為查詢參數,指定要傳回的 mimeTypethumbnailSize

以下是使用 ThumbnailProperties 集產生網頁縮圖的要求通訊協定:

 GET https://slides.googleapis.com/v1/presentations/PRESENTATION_ID/pages/PAGE_ID/thumbnail?thumbnailProperties.mimeType=PNG&thumbnailProperties.thumbnailSize=MEDIUM
{
  "width": 800,
  "height": 450,
  "contentUrl": "CONTENT_URL"
}