幻灯片操作

您可以使用 Google Sheets API 创建、移动和删除幻灯片。本单元中的示例 本页将展示使用 presentations.batchUpdate 方法。

这些示例使用以下变量:

  • PRESENTATION_ID - 表示您在哪里提供 演示文稿 ID。您可以 从演示文稿网址中发现此 ID 的值。
  • PAGE_IDPAGE_ID2 - 用于指明 您需要提供 page 对象 ID。您可以使用 从网址或使用 API 读取请求获取此值。

这些示例以 HTTP 请求的形式呈现,与语言无关。学习内容 如何使用 Google API 实现不同语言的批量更新 客户端库,请参阅以下指南:创建 幻灯片添加形状和 文本

复制幻灯片

以下 presentations.batchUpdate 代码示例展示了如何使用 DuplicateObjectRequest 方法复制幻灯片,并将其插入到演示文稿中原始幻灯片的后面。 原始幻灯片由 PAGE_ID 指定。

通过该请求,您可以指定是应包含部分或全部页面元素 ID 副本(其中包含一些 限制)。 在本示例中,原始幻灯片包含一个表格元素(由 TABLE_ELEMENT_ID),该表将映射到新表(由 COPY_TABLE_ELEMENT_ID)(由 COPY_PAGE_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 方法制作一张幻灯片,并将其作为第四张幻灯片插入(使用从 0 开始的 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 方法使用 PredefinedLayout (共 TITLE_AND_TWO_COLUMNS)。

您可以指定一个字符串,用作幻灯片的 PAGE_ID (与一些 限制)。 通过 placeholderIdMappings 使用 Type/ TITLETITLE_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 分钟。

您还可以使用mimeTypethumbnailSize ThumbnailProperties 字段指定为查询参数。

以下是使用 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"
}