Solicitudes y respuestas

En esta guía, se presentan los métodos principales de solicitud y respuesta que conforman la API de Documentos de Google y cómo puedes actualizar un documento en lotes.

Puedes invocar a la API de Documentos de Google con una solicitud HTTP o mediante una invocación de método en una biblioteca cliente específica de un lenguaje. Son ampliamente equivalentes.

La API de Documentos de Google muestra una respuesta HTTP, que generalmente incluye el resultado de la invocación de la solicitud. Cuando usas una biblioteca cliente para realizar solicitudes, las respuestas se muestran de una manera específica del lenguaje.

Métodos de la solicitud

La API de Documentos admite los siguientes métodos:

  • documents.create: Crea un documento de Documentos de Google en blanco.
  • documents.get: Muestra una instancia completa del documento especificado. Puedes analizar el JSON que se muestra para extraer el contenido, el formato y otras características del documento.
  • documents.batchUpdate: Envía una lista de solicitudes de edición para aplicarlas de forma atómica al documento y muestra una lista de resultados.

Los métodos documents.get y documents.batchUpdate requieren un documentId como parámetro para especificar el documento de destino. El método documents.create muestra una instancia del documento creado, desde el que puedes leer el documentId. Para obtener más información sobre documentId, consulta ID de documento.

Actualizaciones por lotes

El método documents.batchUpdate toma una lista de objetos request, cada uno de los cuales especifica una sola solicitud que se realizará. Por ejemplo, dale formato a un párrafo y, luego, agrega una imagen intercalada. Cada solicitud se valida antes de aplicarse, y las solicitudes se procesan según el orden en el que aparecen en la solicitud por lotes.

Todas las solicitudes de la actualización por lotes se aplican de forma atómica. Es decir, si alguna solicitud no es válida, entonces la actualización completa no es exitosa y no se aplica ninguno de los cambios (potencialmente dependientes).

Algunos métodos documents.batchUpdate proporcionan respuestas con información sobre las solicitudes aplicadas. Estos métodos muestran un cuerpo de respuesta que contiene una lista de objetos response. En otras solicitudes, no es necesario que se muestre información ni que se muestre una respuesta vacía. Los objetos de la lista de respuesta ocupan el mismo orden de índice que la solicitud correspondiente.

A continuación, se muestra un patrón popular para realizar solicitudes por lotes:

requests = []
requests.append(first request)
requests.append(second request)
...

body = ... & requests & ...

...batchUpdate(body)

Consulta las prácticas recomendadas para las solicitudes por lotes si quieres obtener detalles completos sobre cómo agrupar tus llamadas a la API de Documentos y la documentación de referencia de documents.batchUpdate para los tipos de solicitud y respuesta.

Operaciones de actualización por lotes

Hay varios tipos de solicitudes de actualización por lotes. A continuación, se muestra un desglose de los tipos de solicitud, agrupados en diferentes categorías.

Objeto AGREGAR / INSERTAR ACTUALIZAR / REEMPLAZAR BORRAR
Texto InsertTextRequest ReplaceAllTextRequest
Estilos CreateParagraphBulletsRequest UpdateTextStyleRequest
UpdateParagraphStyleRequest
UpdateTableCellStyleRequest
UpdateTableRowStyleRequest
UpdateDocumentStyleRequest
UpdateSectionStyleRequest .
DeleteParagraphBulletsRequest
Rangos con nombre CreateNamedRangeRequest ReplaceNamedRangeContentRequest DeleteNamedRangeRequest
DeleteContentRangeRequest
Imágenes InsertInlineImageRequest ReplaceImageRequest
Tablas InsertTableRequest
InsertTableRowRequest
InsertTableColumnRequest
UpdateTableColumnPropertiesRequest
MergeTableCellsRequest
UnmergeTableCellsRequest
PinTableHeaderRowsRequest
DeleteTableRowRequest
DeleteTableColumnRequest
Objetos de página (incluidos headers y pies de página) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest