Method: documents.batchUpdate

对文档应用一个或多个更新。

每个 request 在应用之前都要经过验证。如有任何请求无效,则整个请求都将失败,不会应用任何内容。

有些请求包含 replies,以便为您提供有关如何应用这些额外信息的一些信息。其他请求无需返回信息;它们都会返回空的回复。回复的顺序与请求的顺序一致。

例如,假设您在调用 batchUpdate 时使用了四个更新,并且只有第三个更新会返回信息。响应将包含两个空回复,即对第三个请求的回复和另一个空回复,且顺序相同。

由于其他用户可能正在编辑文档,因此文档可能不会完全反映您的更改:您的更改可能会与协作者的更改一样。如果没有协作者,则文档应该会反映您所做的更改。在任何情况下,都保证以原子方式同时应用请求中的更新。

HTTP 请求

POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate

网址采用 gRPC 转码语法。

路径参数

参数
documentId

string

要更新的文档的 ID。

请求正文

请求正文中包含结构如下的数据:

JSON 表示法
{
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
字段
requests[]

object (Request)

要应用于文档的更新列表。

writeControl

object (WriteControl)

控制执行写入请求的方式。

响应正文

来自 documents.batchUpdate 请求的响应消息。

如果成功,响应正文将包含结构如下的数据:

JSON 表示法
{
  "documentId": string,
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
字段
documentId

string

应用更新所应用到的文档的 ID。

replies[]

object (Response)

对更新的回复。此映射与更新一一对应,但对某些请求的回复可能为空。

writeControl

object (WriteControl)

应用请求后更新的写入控件。

授权范围

需要以下 OAuth 范围之一:

  • https://www.googleapis.com/auth/documents
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file

有关详情,请参阅授权指南

WriteControl

控制执行写入请求的方式。

JSON 表示法
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
字段
联合字段 control。确定要写入的文档的修订版本,以及当该修订版本不是文档的当前修订版本时请求的行为方式。如果这两个字段均未指定,则更新将应用于最新修订版本。control 只能是下列其中一项:
requiredRevisionId

string

写入请求应用到的文档的可选 revision ID。如果这不是文档的最新修订版本,则请求不会得到处理,并且会返回 400 bad request 错误。

如果响应中返回了必需的修订版本 ID,则表示应用了请求后文档的修订版本 ID。

targetRevisionId

string

应用写入请求的文档的可选目标 revision ID

如果在使用 API 读取文档后协作者进行了更改,则此写入请求产生的更改将应用于协作者的更改。这会使文档产生新的修订,其中既包含协作者所做的更改,也包含请求中的更改,同时由 Google 文档服务器解决冲突的更改。使用目标修订版本 ID 时,API 客户端可视为文档的其他协作者。

目标修订版本 ID 只能用于向文档的最新版本写入数据。如果目标修订版本远远落后于最新修订版本,则请求将不会得到处理,并且会返回 400 bad request 错误。您应在检索到文档的最新版本后重新尝试该请求。通常,修订版本 ID 在读取后的几分钟内仍然有效,可以用作目标修订版本,但对于经常编辑的文档,此窗口可能会较短。