Method: documents.batchUpdate

Aplica una o más actualizaciones al documento.

Cada request se valida antes de aplicarse. Si alguna solicitud no es válida, fallará toda la solicitud y no se aplicará nada.

Algunas solicitudes tienen replies para brindarte información sobre cómo se aplican. Otras solicitudes no necesitan devolver información; cada una de ellas devuelve una respuesta vacía. El orden de las respuestas coincide con el de las solicitudes.

Por ejemplo, supongamos que llamas a batchUpdate con cuatro actualizaciones y solo la tercera devuelve información. La respuesta tendría dos respuestas vacías, la respuesta a la tercera solicitud y otra respuesta vacía, en ese orden.

Dado que otros usuarios pueden editar el documento, es posible que este no refleje exactamente tus cambios, ya que se pueden alterar en función de los cambios de los colaboradores. Si no hay colaboradores, el documento debería reflejar tus cambios. En cualquier caso, se garantiza que las actualizaciones de tu solicitud se aplicarán de forma atómica.

Solicitud HTTP

POST https://docs.googleapis.com/v1/documents/{documentId}:batchUpdate

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta

Parámetros
documentId

string

ID del documento que se actualizará.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Campos
requests[]

object (Request)

Es una lista de actualizaciones que se aplicarán al documento.

writeControl

object (WriteControl)

Proporciona control sobre cómo se ejecutan las solicitudes de escritura.

Cuerpo de la respuesta

Es el mensaje de respuesta de una solicitud documents.batchUpdate.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "documentId": string,
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  },
  "suggestionResponses": [
    {
      object (SuggestionResponse)
    }
  ],
  "commentUpdateState": enum (CommentUpdateState)
}
Campos
documentId

string

Es el ID del documento al que se aplicaron las actualizaciones.

replies[]

object (Response)

Es la respuesta de las actualizaciones. Esto se correlaciona 1:1 con las actualizaciones, aunque las respuestas a algunas solicitudes pueden estar vacías.

writeControl

object (WriteControl)

Es el control de escritura actualizado después de aplicar la solicitud.

suggestionResponses[]

object (SuggestionResponse)

Las sugerencias que se vieron afectadas por cada actualización. Esto se correlaciona 1:1 con las actualizaciones.

commentUpdateState

enum (CommentUpdateState)

Indica si se aplicaron actualizaciones de comentarios en la solicitud por lotes.

Permisos de autorización

Se necesita uno de los siguientes permisos de OAuth:

  • https://www.googleapis.com/auth/documents
  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file

Para obtener más información, consulta la Guía de autorización.

WriteControl

Proporciona control sobre cómo se ejecutan las solicitudes de escritura.

Representación JSON
{
  "writeMode": enum (WriteMode),

  "requiredRevisionId": string,
  "targetRevisionId": string
}
Campos
writeMode

enum (WriteMode)

Indica cómo se deben aplicar las actualizaciones de la solicitud al documento.

Si no se especifica, las actualizaciones de la solicitud se aplicarán como ediciones normales.

Campo de unión control. Determina la revisión del documento en la que se escribirá y cómo se debe comportar la solicitud si esa revisión no es la actual del documento. Si no se especifica ninguno de los campos, las actualizaciones se aplican a la revisión más reciente. control puede ser solo uno de los parámetros siguientes:
requiredRevisionId

string

Es el revision ID opcional del documento al que se aplica la solicitud de escritura. Si no es la revisión más reciente del documento, no se procesa la solicitud y se muestra un error 400 de solicitud incorrecta.

Cuando se devuelve un ID de revisión obligatorio en una respuesta, se indica el ID de revisión del documento después de que se aplicó la solicitud.

targetRevisionId

string

Es el revision ID de destino opcional del documento al que se aplica la solicitud de escritura.

Si se produjeron cambios de colaboradores después de que se leyó el documento con la API, los cambios producidos por esta solicitud de escritura se aplican en relación con los cambios de colaboradores. Esto genera una nueva revisión del documento que incorpora los cambios del colaborador y los cambios de la solicitud, y el servidor de Documentos resuelve los cambios conflictivos. Cuando se usa el ID de revisión de destino, se puede considerar al cliente de la API como otro colaborador del documento.

El ID de revisión de destino solo se puede usar para escribir en versiones recientes de un documento. Si la revisión de destino está demasiado desactualizada en comparación con la revisión más reciente, no se procesará la solicitud y se mostrará un error 400 de solicitud incorrecta. Se debe volver a intentar la solicitud después de recuperar la versión más reciente del documento. Por lo general, un ID de revisión sigue siendo válido para usarse como revisión de destino durante varios minutos después de que se lee, pero, en el caso de los documentos que se editan con frecuencia, este período puede ser más corto.

WriteMode

Determina cómo se deben aplicar las actualizaciones de la solicitud al documento.

Enums
WRITE_MODE_UNSPECIFIED El modo de escritura no está especificado. El valor predeterminado es el comportamiento de EDIT.
EDIT Aplica todas las actualizaciones como ediciones normales.
SUGGEST Aplica todas las actualizaciones como sugerencias.

SuggestionResponse

Son las sugerencias que se vieron afectadas por una actualización determinada.

Representación JSON
{
  "createdSuggestionIds": [
    string
  ],
  "updatedSummarySuggestionIds": [
    string
  ],
  "deletedSuggestionIds": [
    string
  ],
  "acceptedSuggestionIds": [
    string
  ],
  "rejectedSuggestionIds": [
    string
  ]
}
Campos
createdSuggestionIds[]

string

Son los IDs de las sugerencias que se crearon durante la actualización.

updatedSummarySuggestionIds[]

string

Son los IDs de las sugerencias cuyos resúmenes se actualizaron durante la actualización.

deletedSuggestionIds[]

string

Son los IDs de las sugerencias que se borraron durante la actualización.

acceptedSuggestionIds[]

string

Son los IDs de las sugerencias que se aceptaron durante la actualización.

rejectedSuggestionIds[]

string

Son los IDs de las sugerencias que se rechazaron durante la actualización.

CommentUpdateState

Es el estado de las actualizaciones de comentarios en la solicitud por lotes.

Enums
COMMENT_UPDATE_STATE_UNSPECIFIED No se especifica el estado de las actualizaciones de comentarios.
NO_UPDATES_REQUESTED No se solicitaron actualizaciones de comentarios en la solicitud por lotes.
ALL_SAVED Todas las actualizaciones de comentarios solicitadas se aplicaron en la solicitud por lotes.
ALL_FAILED_UNKNOWN_REASON No se pudieron realizar todas las actualizaciones de comentarios solicitadas.