简介

借助 Google 幻灯片 API,您可以创建和修改 Google 幻灯片演示文稿。

应用可与 Google 幻灯片 API 集成,以根据用户和系统提供的数据自动创建精美的演示文稿。例如,您可以使用数据库中的客户详细信息,并将其与预先设计的模板和选定的配置选项相结合,从而创建完成的演示文稿,而且只需很短的手动创建时间。

API 简介

presentations 集合提供的方法,可让您获取和更新演示文稿中的元素。

使用 Slides API 完成的大部分工作可能都是创建和更新演示文稿。您将使用 batchUpdate 方法执行此操作;此方法接受 Request 对象列表,这些对象可让您执行如下操作:

  • 创建幻灯片
  • 向幻灯片添加元素,例如形状或表格
  • 插入、更改和移除文本
  • 对元素应用转换
  • 更改幻灯片的顺序

如需了解详情,请参阅批量更新。如需查看有关如何使用该 API 的简单端到端示例,请参阅入门指南。

演示文稿的结构

Slides API 中的演示文稿由页面组成,而页面包含页面元素。

演示文稿 ID 可通过以下网址获得:

https://docs.google.com/presentation/d/presentationId/edit

演示 ID 是一个包含字母、数字和一些特殊字符的字符串。以下正则表达式可用于从 Google 表格网址中提取演示文稿 ID:

/presentation/d/([a-zA-Z0-9-_]+)

如果您熟悉 Drive API,您会发现 presentationIdFile 资源的 ID 相对应。

页面和页面元素通过对象 ID 进行标识。

页面

Google 幻灯片有以下几类页面:

硕士 幻灯片母版定义了使用此母版的所有幻灯片中显示的默认文本样式、背景和页面元素。应将所有幻灯片中必须显示的页面元素添加到母版中。大多数演示文稿都有一个母版,但有些演示文稿可能有多个母版或没有母版。
布局 布局可用作模板,指示如何使用布局在幻灯片上默认排列页面元素。每个布局都与一个母版相关联。
幻灯片 这些页面包含您向受众群体呈现的内容。 大多数幻灯片都基于母版和布局创建。您可以在创建每张幻灯片时指定要使用的布局。
备注 这些页面包含演示文稿讲义的内容,其中包括一个包含幻灯片演讲者备注的形状。每张幻灯片都有一个对应的备注页面。只有演讲者备注形状中的文本可以使用幻灯片 API 进行修改。
记事母版 记事母版定义了所有记事页面的默认文本样式和页面元素。备注母版在幻灯片 API 中是只读的。

页面元素

页面元素是放置在页面上的视觉组件。该 API 提供了几种页面元素:

群组 一组被视为单个单元的网页元素。它们可以一起移动、缩放和旋转。
形状 一种普通的可视对象,例如矩形、椭圆形和文本框。 形状可以包含文本,因此它们是构建幻灯片的最常用页面元素。
图片 导入 Google 幻灯片的图形。
视频 导入 Google 幻灯片的视频。
折线图 可视的线条、曲线或连接符。
内容网格。
艺术字 一种看起来更像形状的视觉文本元素。
表格 从 Google 表格导入幻灯片的图表。

批量更新

您可以使用 batchUpdate 方法更新演示文稿的很多方面。更改会按批次分组,这样,如果一个请求失败,就不会写入其他任何(可能是相关的)更改。

batchUpdate 方法的工作原理是接受一个或多个 Request 对象,每个对象指定一种要执行的请求。有许多不同类型的请求。下面是各种请求类型的细分,它们分为不同类别。

使用 Google 幻灯片: CreateSlideRequest
UpdateSlidesPositionRequest
DuplicateObjectRequest
UpdatePagePropertiesRequest
DeleteObjectRequest
处理页面元素: CreateShapeRequest
CreateLineRequest
UpdatePageElementTransformRequest
UpdateShapePropertiesRequest
DuplicateObjectRequest
DeleteObjectRequest
使用表: CreateTableRequest
InsertTableRowsRequest
InsertTableColumnsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
UpdateTableRowPropertiesRequest
UpdateTableColumnPropertiesRequest
UpdateTableBorderPropertiesRequest
UpdateTableCellPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
DeleteObjectRequest
使用图表: CreateSheetsChartRequest
RefreshSheetsChartRequest
ReplaceAllShapesWithSheetsChartRequest
DeleteObjectRequest
使用图片和视频: CreateImageRequest
CreateVideoRequest
UpdateImagePropertiesRequest
UpdateVideoPropertiesRequest
ReplaceAllShapesWithImageRequest
DuplicateObjectRequest
DeleteObjectRequest
处理文本: InsertTextRequest
DeleteTextRequest
ReplaceAllTextRequest
CreateParagraphBulletsRequest
DeleteParagraphBulletsRequest
UpdateTextStyleRequest
UpdateParagraphStyleRequest

batchUpdate 方法会返回响应正文,其中包含每个请求的响应。每个响应与对应的请求占用相同的索引;对于没有适用响应的请求,该索引处的响应将为空。各种 Create 请求通常确实有响应,这样您就可以知道新添加对象的 ID。

使用对象 ID

Slides API 中的演示文稿由页面页面元素组成。这些对象包含一个在演示文稿中唯一的对象 ID 字符串。

在创建时指定对象 ID

使用 batchUpdate 方法创建页面或页面元素时,您可以选择为新对象指定对象 ID。这样,您就可以创建对象并在同一 batchUpdate 请求内对其进行修改,从而最大限度地减少对幻灯片 API 的调用次数并减少配额用量

在大多数情况下,我们建议生成随机对象 ID。例如,如果您使用的是 Java,则 java.util.UUID.randomUUID().toString() 应能够正常运行。

当您的应用想要在较长的一段时间内跟踪对象时,不要依赖对象 ID,因为它可能会发生变化。如需了解详情,请参阅下一部分。

在不使用对象 ID 的情况下跟踪对象

当您发出 Slides API 请求时,通常会保留对象 ID。(该方法的参考文档中列出了所有例外情况。)使用 Drive API 复制整个演示文稿的副本也会保留对象 ID。

不过,在幻灯片界面中更改演示文稿后,您不能依赖于对象 ID 保持不变。例如,如果某人使用幻灯片界面复制粘贴页面元素,然后删除了原始页面元素,那么该页面元素现在将具有新的唯一 ID,并且您之前通过 API 提供的 ID 将丢失。因此,我们不建议您将对象 ID 存储在应用的存储空间中。相反,您应根据对象的文本内容或替代文本来查找演示文稿中的对象。

新创建的演示文稿通常对默认幻灯片、母版和文本框使用一组一致的 ID。这些 ID 会随着时间推移而发生变化,因此我们建议您不要依赖此功能。不过,您可以使用调用 create()get() 返回的呈现对象来查找要修改的元素。