借助 Google Slides API,您可以创建、移动和删除幻灯片。本页中的示例展示了如何使用 presentations.batchUpdate 方法执行一些常见的幻灯片操作。
这些示例使用以下变量:
- PRESENTATION_ID - 表示您提供演示文稿 ID 的位置。您可以通过演示网址发现此 ID 的值。
- PAGE_ID 和 PAGE_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_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 表示应在哪个位置插入幻灯片,具体取决于移动之前的顺序。该值必须介于零和演示文稿中的幻灯片数量之间(含边界值)。
以下是将幻灯片移至新位置的请求协议:
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"
}