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. Este mapa 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.

Alcances 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. 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)

Actualiza un elemento.

UpdateFormInfoRequest

Actualizar información del formulario

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

object (Info)

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 elemento "*" como abreviatura para actualizar cada campo.

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

UpdateSettingsRequest

Actualizar 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 elemento "*" como abreviatura para actualizar cada campo.

Esta es una lista separada por comas de los nombres de campos totalmente 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

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

Es el índice de un elemento con el formato. El valor debe estar dentro del rango

[0..N)

, en la que 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. 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. 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)

Obligatorio. Valores nuevos para el elemento. Ten en cuenta que los IDs de pregunta y de elemento 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 obteniendo el formulario a través de forms.get, modificando tu copia local de ese elemento para que quede como lo desees y usando UpdateItemRequest para volver a escribirlo, con los mismos IDs (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 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 aplicarán los cambios y el comportamiento que debe tener 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. De lo contrario, la solicitud no se procesará y mostrará un error 400 de solicitud incorrecta.

targetRevisionId

string

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

Si ocurrieron cambios después de esta revisión, los cambios de la solicitud de actualización se transformarán en función de ellos. Esto da como resultado una nueva revisión del formulario que incorpora los cambios en la solicitud y los cambios intermedios, y el servidor resuelve los cambios conflictivos.

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á 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 última versión del formulario. En la mayoría de los casos, un ID de revisión objetivo sigue 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 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. El tipo de respuesta. Las direcciones (kind) solo pueden ser una de las siguientes opciones:
createItem

object (CreateItemResponse)

El resultado de la creación de un elemento.

CreateItemResponse

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. Para un grupo de preguntas, enumera los ID de todas las preguntas creadas para este elemento.