This guide introduces the primary request and response methods that make up the Google Docs API and how you can update a document in batches.
You can invoke the Google Docs API using an HTTP request, or by using a method invocation in a language-specific client library. These are broadly equivalent.
The Google Docs API returns an HTTP response, which generally includes the result of the request invocation. When using a client library to make requests, the responses are returned in a language-specific way.
Request methods
The Docs API supports the following methods:
documents.create
: Create a blank Google Docs document.documents.get
: Return a complete instance of the specified document. You can parse the returned JSON to extract the document content, formatting, and other features.documents.batchUpdate
: Submit a list of editing requests to apply atomically to the document, and return a list of results.
The documents.get
and documents.batchUpdate
methods require a documentId
as a parameter to specify the target document. The documents.create
method
returns an instance of the created document, from which you can read the
documentId
. For more information about documentId
, see Document
ID.
Batch updates
The documents.batchUpdate
method takes a list of
request
objects, each one
specifying a single request to perform. For example, format a paragraph and then
add an inline image. Each request is validated before being applied and the
requests are processed according to the order they appear in the batch request.
All requests in the batch update are applied atomically. That is, if any request isn't valid, then the entire update is unsuccessful and none of the (potentially dependent) changes are applied.
Some documents.batchUpdate
methods provide responses with information about
the applied requests. These methods return a response
body that
contains a list of response
objects. Other requests don't need to return information and surface an empty
reply. The objects in the response list occupy the same index order as the
corresponding request.
A popular pattern for making batch requests looks like this:
requests = []
requests.append(first request)
requests.append(second request)
...
body = ... & requests & ...
...batchUpdate(body)
See batch request best practices for full details on
how to batch your Docs API calls and the
documents.batchUpdate
reference documentation for request and response types.
Batch update operations
There are various types of batch update requests. Here's a breakdown of the request types, grouped into different categories.