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

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)

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

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)

Según el campo includeFormInResponse de la solicitud booleano, se muestra o no un formulario con todas las mutaciones o actualizaciones aplicadas. Puede ser posterior al ID de revisión que crearon estos cambios.

replies[]

object (Response)

Es la respuesta de las actualizaciones. Esto se asigna de forma individual 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 alcances 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)

Actualizar la información del formulario.

updateSettings

object (UpdateSettingsRequest)

Actualiza la configuración del formulario.

createItem

object (CreateItemRequest)

Crear un elemento nuevo

moveItem

object (MoveItemRequest)

Mueve un elemento a una ubicación específica.

deleteItem

object (DeleteItemRequest)

Borrar un elemento

updateItem

object (UpdateItemRequest)

Actualiza un elemento.

UpdateFormInfoRequest

Actualizar la información del formulario.

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

object (Info)

La información que se debe actualizar.

updateMask

string (FieldMask format)

Obligatorio. Solo se cambian los valores nombrados en esta máscara. Se debe especificar al menos un campo. La raíz info está implícita y no se debe especificar. Se puede usar una sola "*" como versión abreviada para actualizar todos los campos.

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

UpdateSettingsRequest

Actualiza el FormSettings del formulario.

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

object (FormSettings)

Obligatorio. La configuración con la que se actualizará.

updateMask

string (FieldMask format)

Obligatorio. Solo se cambian los valores nombrados en esta máscara. Se debe especificar al menos un campo. La raíz settings está implícita y no se debe especificar. Se puede usar una sola "*" como versión abreviada para actualizar todos los campos.

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

CreateItemRequest

Crea un elemento en un formulario.

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

object (Item)

Obligatorio. El elemento que se creará.

location

object (Location)

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. Obligatorio. Especifica una ubicación en el formulario. Las direcciones (where) solo pueden ser una de las siguientes opciones:
index

integer

El índice de un elemento en el formulario. Debe pertenecer al rango

[0..N)

, donde N es la cantidad de elementos del formulario.

MoveItemRequest

Mueve un elemento en un formulario.

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

object (Location)

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

newLocation

object (Location)

Obligatorio. La nueva ubicación del elemento.

DeleteItemRequest

Borrar un elemento de un formulario

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

object (Location)

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

UpdateItemRequest

Actualizar un elemento en un formulario

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

object (Item)

Obligatorio. Valores nuevos para el elemento. Ten en cuenta que los ID 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 generará un ID nuevo. Esto significa que puedes modificar un elemento si obtienes el formulario a través de forms.get, modificas tu copia local de ese elemento para que quede como quieras y uses UpdateItemRequest para volver a escribirlo, con los ID que son iguales (o no en la máscara de campo).

location

object (Location)

Obligatorio. La ubicación que identifica el elemento que se actualizará.

updateMask

string (FieldMask format)

Obligatorio. Solo se cambian los valores nombrados en esta máscara.

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

Control de escritura

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 desde el que se aplicarán los cambios y cómo debe comportarse la solicitud si esa revisión no es la revisión 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, no se procesa la solicitud y se muestra un error 400 de solicitud incorrecta.

targetRevisionId

string

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

Si se realizaron cambios después de esta revisión, los cambios de esta solicitud de actualización se transformarán en esos cambios. El resultado es una nueva revisión del formulario que incorpora los cambios en 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 de destino está muy retrasada con respecto a la última revisión, la solicitud no se procesa y muestra un error 400 (Solicitud incorrecta). Se puede reintentar 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 de destino continúa siendo válido durante varios minutos después de su lectura, pero para los formularios editados 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. Es el tipo de respuesta. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
createItem

object (CreateItemResponse)

Es el resultado de la creación de un elemento.

CreateItemResponse

Es el resultado de la creación de un elemento.

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

string

El ID del elemento 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 ID de todas las preguntas creadas para este elemento.