Method: forms.batchUpdate

Cambia el formulario con un lote de actualizaciones.

Solicitud HTTP

POST https://forms.googleapis.com/v1/forms/{formId}:batchUpdate

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

Parámetros de ruta de acceso

Parámetros
formId

string

Es obligatorio. El ID del formulario.

Cuerpo de la solicitud

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

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

boolean

Indica si se debe mostrar una versión actualizada del modelo en la respuesta.

requests[]

object (Request)

Es obligatorio. Las solicitudes de actualización de este lote

writeControl

object (WriteControl)

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

Cuerpo de la respuesta

Es la respuesta a una BatchUpdateFormRequest.

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

Representación JSON
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Campos
form

object (Form)

En función del campo de solicitud booleana includeFormInResponse, se muestra o no un formulario con todas las mutaciones o actualizaciones aplicadas. Es posible que sea posterior al ID de revisión creado por estos cambios.

replies[]

object (Response)

La respuesta de las actualizaciones. Esto se asigna 1:1 con las solicitudes de actualización, aunque las respuestas a algunas solicitudes pueden estar vacías.

writeControl

object (WriteControl)

El control de escritura actualizado después de aplicar la solicitud

Permisos de autorización

Se necesita uno de los siguientes permisos de OAuth:

  • https://www.googleapis.com/auth/drive
  • https://www.googleapis.com/auth/drive.file
  • https://www.googleapis.com/auth/forms.body

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

Solicitud

Los tipos de solicitudes de actualización que se pueden realizar.

Representación JSON
{

  // Union field kind can be only one of the following:
  "updateFormInfo": {
    object (UpdateFormInfoRequest)
  },
  "updateSettings": {
    object (UpdateSettingsRequest)
  },
  "createItem": {
    object (CreateItemRequest)
  },
  "moveItem": {
    object (MoveItemRequest)
  },
  "deleteItem": {
    object (DeleteItemRequest)
  },
  "updateItem": {
    object (UpdateItemRequest)
  }
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. Es el tipo de solicitud. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
updateFormInfo

object (UpdateFormInfoRequest)

Actualiza la información del formulario.

updateSettings

object (UpdateSettingsRequest)

Actualiza la configuración del formulario.

createItem

object (CreateItemRequest)

Crear un elemento nuevo

moveItem

object (MoveItemRequest)

Mover un elemento a una ubicación especificada

deleteItem

object (DeleteItemRequest)

Borrar un elemento

updateItem

object (UpdateItemRequest)

Actualiza un elemento.

UpdateFormInfoRequest

Actualiza la información del formulario.

Representación JSON
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
Campos
info

object (Info)

Es la información que se actualizará.

updateMask

string (FieldMask format)

Es obligatorio. Solo se modifican los valores nombrados en esta máscara. Se debe especificar al menos un campo. El info raíz se da por sentado y no se debe especificar. Se puede usar un solo "*" como abreviatura para actualizar todos los campos.

Esta es una lista separada por comas de los nombres de campos totalmente calificados. Ejemplo: "user.displayName,photo".

UpdateSettingsRequest

Actualiza el FormSettings del formulario.

Representación JSON
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
Campos
settings

object (FormSettings)

Es obligatorio. Es la configuración con la que se actualizará.

updateMask

string (FieldMask format)

Es obligatorio. Solo se modifican los valores nombrados en esta máscara. Se debe especificar al menos un campo. El settings raíz se da por sentado y no se debe especificar. Se puede usar un solo "*" como abreviatura para actualizar todos los campos.

Esta es una lista separada por comas de los nombres de campos totalmente calificados. Ejemplo: "user.displayName,photo".

CreateItemRequest

Crear un elemento en un formulario

Representación JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
Campos
item

object (Item)

Es obligatorio. El elemento que se creará.

location

object (Location)

Es obligatorio. Dónde colocar el elemento nuevo

Ubicación

Es una ubicación específica en un formulario.

Representación JSON
{

  // Union field where can be only one of the following:
  "index": integer
  // End of list of possible types for union field where.
}
Campos
Campo de unión where. Es obligatorio. Especifica una ubicación en el formulario. Las direcciones (where) solo pueden ser una de las siguientes opciones:
index

integer

Es el índice de un elemento en el formulario. Debe estar en el rango

[0..N)

, donde N es la cantidad de elementos del formulario.

MoveItemRequest

Mover un elemento en un formulario

Representación JSON
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
Campos
originalLocation

object (Location)

Es obligatorio. Es la ubicación del elemento que se moverá.

newLocation

object (Location)

Es obligatorio. Es la nueva ubicación del artículo.

DeleteItemRequest

Borrar un elemento de un formulario

Representación JSON
{
  "location": {
    object (Location)
  }
}
Campos
location

object (Location)

Es obligatorio. Es la ubicación del elemento que se borrará.

UpdateItemRequest

Actualiza un elemento en un formulario.

Representación JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
Campos
item

object (Item)

Es obligatorio. Son los valores nuevos del artículo. Ten en cuenta que los IDs de artículo y pregunta se usan si se proporcionan (y están en la máscara de campo). Si un ID está en blanco (y en la máscara de campo), se genera uno nuevo. Esto significa que puedes modificar un elemento obteniendo el formulario a través de forms.get, modificando tu copia local de ese elemento para que sea como quieras y usando UpdateItemRequest para volver a escribirlo, con los IDs iguales (o no en la máscara de campo).

location

object (Location)

Es obligatorio. Es la ubicación que identifica el elemento que se actualizará.

updateMask

string (FieldMask format)

Es obligatorio. Solo se modifican los valores nombrados en esta máscara.

Esta es una lista separada por comas de los nombres de campos totalmente calificados. Ejemplo: "user.displayName,photo".

WriteControl

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

Representación JSON
{

  // Union field control can be only one of the following:
  "requiredRevisionId": string,
  "targetRevisionId": string
  // End of list of possible types for union field control.
}
Campos
Campo de unión control. Determina la revisión del formulario a partir de la cual se deben aplicar los cambios y cómo debe comportarse la solicitud si esa revisión no es la actual del formulario. Las direcciones (control) solo pueden ser una de las siguientes opciones:
requiredRevisionId

string

El ID de revisión del formulario al que se aplica la solicitud de escritura. Si esta no es la revisión más reciente del formulario, la solicitud no se procesará y se mostrará un error de solicitud incorrecta 400.

targetRevisionId

string

El ID de revisión objetivo del formulario al que se aplica la solicitud de escritura.

Si se produjeron cambios después de esta revisión, los cambios de esta solicitud de actualización se transforman en función de esos cambios. Esto genera una nueva revisión del formulario que incorpora los cambios de la solicitud y los cambios intermedios, y el servidor resuelve los cambios en conflicto.

El ID de revisión de destino solo se puede usar para escribir en versiones recientes de un formulario. Si la revisión objetivo está muy atrasada con respecto a la más reciente, no se procesará la solicitud y se mostrará un error 400 (error de solicitud incorrecta). Se puede volver a intentar la solicitud después de leer la versión más reciente del formulario. En la mayoría de los casos, un ID de revisión objetivo permanece válido durante varios minutos después de que se lee, pero para los formularios que se editan con frecuencia, esta ventana puede ser más corta.

Respuesta

Una sola respuesta de una actualización.

Representación JSON
{

  // Union field kind can be only one of the following:
  "createItem": {
    object (CreateItemResponse)
  }
  // End of list of possible types for union field kind.
}
Campos
Campo de unión kind. El tipo de respuesta. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
createItem

object (CreateItemResponse)

Es el resultado de crear un elemento.

CreateItemResponse

Es el resultado de crear un elemento.

Representación JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
Campos
itemId

string

Es el ID del artículo creado.

questionId[]

string

Es el ID de la pregunta creada como parte de este elemento. En el caso de un grupo de preguntas, se enumeran los IDs de todas las preguntas creadas para este elemento.