投影片作業

Google Slides API 可讓您建立、移動及刪除投影片。本頁的範例顯示使用 presentations.batchUpdate 方法的一些常見的投影片作業。

這些範例使用下列變數:

  • PRESENTATION_ID:指示您在提供表示法 ID 的位置。您可以從簡報網址找出這個 ID 的值。
  • PAGE_IDPAGE_ID2:指示您提供頁面物件 ID 的位置。您可以使用網址或 API 讀取要求擷取此值。

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

複製投影片

以下 presentations.batchUpdate 程式碼範例說明如何使用 DuplicateObjectRequest 方法複製投影片,並將其插入簡報中的原始投影片。原始投影片由 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)。

新投影片會設為使用 TITLE_AND_TWO_COLUMNSPredefinedLayout。您可以將字串指定為投影片的 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",
      }
    },
  ]
}

將投影片移到新位置

以下 presentations.batchUpdate 程式碼範例說明如何使用 UpdateSlidesPositionRequest 方法取得兩張投影片,並將其移至簡報開頭,維持兩者相對排序。

您必須按照現有的呈現順序提供指定的投影片 ID (PAGE_IDPAGE_ID2),而且不可重複。以零為基礎的 insertionIndex 表示投影片的插入位置,取決於移動前的順序。這個值必須介於 0 與簡報中的投影片數量 (含首尾)。

如要將投影片移至新位置,請遵循下列要求通訊協定:

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