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 de solicitud booleano includeFormInResponse, se muestra o no un formulario con todas las mutaciones o actualizaciones aplicadas. Puede ser posterior al ID de revisión creado por estos cambios.

replies[]

object (Response)

La respuesta de las actualizaciones. Esto 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 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 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)

Actualizar un elemento

UpdateFormInfoRequest

Actualizar información del formulario

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

object (Info)

La información 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 info está implícita 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 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 un solo "*" como abreviatura 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.

Location

Es una ubicación específica de 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

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

[0..N)

, donde N es la cantidad de elementos del formulario.

MoveItemRequest

Mueve un elemento de 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. Es 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 de 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 IDs de elemento y de 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 un ID nuevo. Esto significa que puedes modificar un elemento si obtienes el formulario a través de forms.get, modificas tu copia local del elemento de modo que sea como desees y usas UpdateItemRequest para volver a escribirlo, con los ID iguales (o no en la máscara de campo).

location

object (Location)

Obligatorio. Es 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".

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 del cual se deben aplicar los cambios y el comportamiento que debe tener la solicitud si esa revisión no es la versió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, la solicitud no se procesa y 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 produjeron cambios después de esta revisión, los cambios en esta solicitud de actualización se transformarán en función de esos cambios. Esto da como resultado una nueva revisión del formulario, que incorpora los cambios en la solicitud y los cambios correspondientes, y el servidor resuelve los cambios conflictivos.

El ID de revisión de destino solo se puede usar para escribir en las versiones recientes de un formulario. Si la revisión de destino está demasiado retrasada con respecto a la última revisión, la solicitud no se procesa y muestra un error 400 (Error de 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 sigue siendo válido durante varios minutos después de su lectura, pero para los formularios que se editan con frecuencia, esta ventana puede ser más corta.

Respuesta

Una sola respuesta a partir 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

El ID de la pregunta creada como parte de este elemento. En el caso de un grupo de preguntas, incluye los ID de todas las preguntas creadas para este elemento.