Applies one or more updates to the document.
Each request
is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied.
Some requests have replies
to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests.
For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order.
Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically.
POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate
The URL uses gRPC Transcoding syntax.
Parameters | |
---|---|
documentId | string The ID of the document to update. |
The request body contains data with the following structure:
JSON representation | |
---|---|
{ "requests": [ { object (Request) } ], "writeControl": { object (WriteControl) } } |
Fields | |
---|---|
requests[] | object (Request) A list of updates to apply to the document. |
writeControl | object (WriteControl) Provides control over how write requests are executed. |
If successful, the response body contains data with the following structure:
Response message from a documents.batchUpdate
request.
JSON representation | |
---|---|
{ "documentId": string, "replies": [ { object (Response) } ], "writeControl": { object (WriteControl) } } |
Fields | |
---|---|
documentId | string The ID of the document to which the updates were applied to. |
replies[] | object (Response) The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. |
writeControl | object (WriteControl) The updated write control after applying the request. |
Requires one of the following OAuth scopes:
https://www.googleapis.com/auth/documents
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.file
For more information, see the OAuth 2.0 Overview.
Provides control over how write requests are executed.
JSON representation | |
---|---|
{ // Union field control can be only one of the following: "requiredRevisionId": string, "targetRevisionId": string // End of list of possible types for union field control. } |
Fields | ||
---|---|---|
Union field control. Determines the revision of the document to write to and how the request should behave if that revision is not the current revision of the document. control can be only one of the following: | ||
requiredRevisionId | string The revision ID of the document that the write request will be applied to. If this is not the latest revision of the document, the request will not be processed and will return a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied. | |
targetRevisionId | string The target revision ID of the document that the write request will be applied to. If collaborator changes have occurred after the document was read using the API, the changes produced by this write request will be transformed against the collaborator changes. This results in a new revision of the document which incorporates both the changes in the request and the collaborator changes, and the Docs server will resolve conflicting changes. When using targetRevisionId, the API client can be thought of as another collaborator of the document. The target revision ID may only be used to write to recent versions of a document. If the target revision is too far behind the latest revision, the request will not be processed and will return a 400 bad request error and the request should be retried after reading the latest version of the document. In most cases a revisionId will remain valid for use as a target revision for several minutes after it is read, but for frequently-edited documents this window may be shorter. |