幻灯片操作

您可以通过 Google 幻灯片 API 创建、移动和删除幻灯片。本页中的示例展示使用 presentations.batchUpdate 方法的一些常见幻灯片操作。

这些示例使用以下变量:

  • PRESENTATION_ID - 表示您提供呈现 ID 的位置。您可以从呈现网址中找到此 ID 的值。
  • PAGE_IDPAGE_ID2 - 表示您提供页面对象 ID 的位置。您可以从网址或使用 API 读取请求检索该 ID 的值。

出于中性考虑,这些示例以 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"
}