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 por lotes.

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

La API de Documentos de Google muestra una respuesta HTTP, que, por lo general, incluye el resultado de la invocación de la solicitud. Cuando se usa una biblioteca cliente para realizar solicitudes, las respuestas se muestran de una manera específica para cada idioma.

Métodos de la solicitud

La API de Documentos admite los siguientes métodos:

  • documents.create: Crea un documento en blanco de Documentos de Google.
  • documents.get: Muestra una instancia completa del documento especificado. Puedes analizar el JSON que se muestra para extraer el contenido, el formato y otras funciones 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 documentId. Para obtener más información sobre documentId, consulta ID del 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, da 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 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, no se realizará correctamente la actualización completa y no se aplicará 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. Otras solicitudes no necesitan mostrar información ni mostrar una respuesta vacía. Los objetos de la lista de respuestas ocupan el mismo orden de índice que la solicitud correspondiente.

Un patrón popular para realizar solicitudes por lotes se ve de la siguiente manera:

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

body = ... & requests & ...

...batchUpdate(body)

Consulta las prácticas recomendadas para las solicitudes por lotes para obtener todos los detalles sobre cómo realizar solicitudes por lotes 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

Existen varios tipos de solicitudes de actualización por lotes. A continuación, se muestra un desglose de los tipos de solicitudes, 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 encabezados y pies de página) InsertPageBreakRequest
CreateHeaderRequest
CreateFooterRequest
CreateFootnoteRequest
InsertSectionBreakRequest
DeletePositionedObjectRequest
DeleteHeaderRequest
DeleteFooterRequest