Hay varios principios que debes seguir cuando usas la API de Documentos de Google. Estos incluyen los siguientes:
- Edita hacia atrás para mejorar la eficiencia
- Planifica la colaboración
- Asegúrate de que el estado sea coherente
WriteControl
campo - Ten en cuenta las pestañas
En las siguientes secciones, se explican estos principios.
Edita hacia atrás para mejorar la eficiencia
En una sola llamada
documents.batchUpdate
ordena tus solicitudes en
orden descendente de ubicación del índice Esto elimina la necesidad de calcular la
en los índices
debido a inserciones y eliminaciones.
Planifica la colaboración
Es probable que cambie el estado del documento. Entre una llamada de método y otra, otra los colaboradores pueden actualizar el documento, como se muestra en el siguiente diagrama:
Esto puede generar errores si tus índices son incorrectos. Si hay varios usuarios editando un
documento con la IU, Documentos de Google se encarga de esto con transparencia. Sin embargo,
Como cliente de la API, tu app debe administrar esto. Incluso si no prevés
colaboración en el documento, es importante programar
de forma defensiva y asegurarse
asegurarse de que el estado del documento siga siendo coherente. Una forma de garantizar la coherencia
revisa la sección WriteControl
.
Establece coherencia de estado con WriteControl
Cuando lees y actualizas un documento, puedes controlar el comportamiento de cómo
cambios que compiten entre sí se controlan
WriteControl
en el método documents.batchUpdate
. WriteControl
proporciona autoridad.
sobre cómo se ejecutan
las solicitudes de escritura.
Puedes usarla de la siguiente manera:
- Obtén el documento con el
documents.get
y guarda elrevisionId
del recursodocuments
devuelto. - Redacta tus solicitudes de actualización.
- Incluye un
WriteControl
opcional. con una de las siguientes dos opciones:- El campo
requiredRevisionId
se establece en elrevisionId
de la documento al que se aplica la solicitud de escritura. Si el documento se modificó como la solicitud de lectura de la API, la solicitud de escritura no se procesa y devuelve un error. - El campo
targetRevisionId
se establece en elrevisionId
del documento al que se aplica la solicitud de escritura. Si el documento se modificó después de de lectura de la API, los cambios en la solicitud de escritura se aplican al los cambios de los colaboradores. El resultado de la solicitud de escritura incorpora tanto la solicitud de escritura cambia y el colaborador cambia a una nueva revisión del documento. El servidor de Documentos es responsable para combinar el contenido.
- El campo
Para ver un ejemplo de cómo construir una solicitud por lotes con WriteControl
, consulta
este ejemplo de solicitud por lotes.
Ten en cuenta las pestañas
Un mismo documento puede contener varias pestañas, que requieren un manejo específico en tus solicitudes a la API.
Recuerda lo siguiente:
- Establece el parámetro
includeTabsContent
entrue
, endocuments.get
para recuperar el contenido de todas las pestañas de un documento. De forma predeterminada, no todas se muestra el contenido. - Especifica los IDs de las pestañas en las que se aplicará cada
Request
. en ladocuments.batchUpdate
. CadaRequest
incluye una forma de especificar las pestañas a las que se aplicará la actualización. De forma predeterminada, si un pestañaRequest
en la mayoría de los casos, se aplicará a la primera pestaña del documento. Consulta lasRequest
s documentación para obtener información específica.