本指南介绍了构成 Google Docs API 的主要请求和响应方法,以及如何批量更新文档。
您可以使用 HTTP 请求或通过特定于语言的客户端库中的方法调用来调用 Google Docs API。这两者大致等效。
Google Docs API 会返回 HTTP 响应,其中通常包含请求调用的结果。使用客户端库发出请求时,系统会以特定语言返回响应。
请求方法
Docs API 支持以下方法:
documents.create: 创建空白 Google 文档。documents.get: 返回指定文档的完整实例。您可以解析返回的 JSON,以提取文档内容、格式和其他功能。documents.batchUpdate:提交一系列编辑请求,以原子方式应用于文档,并返回结果列表。
documents.get 和 documents.batchUpdate 方法需要将 documentId 作为参数来指定目标文档。documents.create 方法会返回所创建文档的实例,您可以从中读取 documentId。如需详细了解 documentId,请参阅文档 ID。
已发布的文档
您无法使用 documents.get 方法检索已发布的文档。发布后,公开文档会使用不同的网址格式,并具有独特的公开 documentId。尝试使用公共 documentId 和 documents.get 方法会返回 404 HTTP 状态代码响应。
同样,您也无法使用 Drive API files.copy 方法复制已发布的文档。
如需检索或复制已发布的文档,您必须使用原始的 documentId。没有从已发布的网址中提取原始 documentId 的方法。
如需了解详情,请参阅:
批量更新
documents.batchUpdate 方法接受一个 request 对象列表,每个对象指定要执行的单个请求。例如,设置段落格式,然后添加内嵌图片。每个请求在应用之前都会经过验证,并且系统会按照请求在批处理请求中的显示顺序来处理请求。
批次更新中的所有请求均以原子方式应用。也就是说,如果任何请求无效,则整个更新都会失败,并且不会应用任何(可能相关的)更改。
某些 documents.batchUpdate 方法会提供包含有关已应用请求的信息的响应。这些方法会返回一个包含 response 对象列表的响应正文。其他请求无需返回信息,只需显示空回复即可。响应列表中的对象的索引顺序与相应请求相同。
一种常用的批量请求模式如下所示:
requests = []
requests.append(first request)
requests.append(second request)
...
body = ... & requests & ...
...batchUpdate(body)
如需详细了解如何批量处理 Docs API 调用,以及请求和响应类型的 documents.batchUpdate 参考文档,请参阅批量请求最佳实践。
批量更新操作
批量更新请求有多种类型。以下是请求类型的细分,按不同类别分组。