您可以通过 Google Slides API 创建、移动和删除幻灯片。本页上的示例展示了使用 presentations.batchUpdate
方法执行的一些常用幻灯片操作。
这些示例使用以下变量:
- PRESENTATION_ID - 表示您提供演示文稿 ID 的位置。您可以通过演示文稿网址查找此 ID 的值。
- PAGE_ID 和 PAGE_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_COLUMNS
的 PredefinedLayout
。您可以指定一个字符串作为此幻灯片的 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_COLUMNS
的 PredefinedLayout
创建幻灯片。
您可以指定一个字符串作为此幻灯片的 PAGE_ID(存在一些限制)。placeholderIdMappings
使用 TITLE
的 Type
。TITLE_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_ID 和 PAGE_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
字段作为查询参数指定返回的 mimeType
和 thumbnailSize
。
以下是使用 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" }