Method: forms.batchUpdate

Mudar o formulário com um lote de atualizações.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
formId

string

Obrigatório. O ID do formulário.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "includeFormInResponse": boolean,
  "requests": [
    {
      object (Request)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Campos
includeFormInResponse

boolean

Define se uma versão atualizada do modelo será retornada na resposta.

requests[]

object (Request)

Obrigatório. As solicitações de atualização deste lote.

writeControl

object (WriteControl)

Fornece controle sobre como as solicitações de gravação são executadas.

Corpo da resposta

Resposta a um BatchUpdateFormRequest.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "form": {
    object (Form)
  },
  "replies": [
    {
      object (Response)
    }
  ],
  "writeControl": {
    object (WriteControl)
  }
}
Campos
form

object (Form)

Com base no campo de solicitação booleano includeFormInResponse, um formulário com todas as mutações/atualizações aplicadas é retornado ou não. Ele pode ser posterior ao ID de revisão criado por essas alterações.

replies[]

object (Response)

A resposta das atualizações. Ele mapeia individualmente as solicitações de atualização, embora as respostas a algumas solicitações possam estar vazias.

writeControl

object (WriteControl)

O controle de gravação atualizado após aplicar a solicitação.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

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

Para mais informações, consulte o Guia de autorização.

Solicitação

Os tipos de solicitações de atualização que podem ser feitas.

Representação 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ão kind. O tipo de solicitação. kind pode ser apenas de um dos tipos a seguir:
updateFormInfo

object (UpdateFormInfoRequest)

Atualizar informações do formulário.

updateSettings

object (UpdateSettingsRequest)

Atualiza as configurações do formulário.

createItem

object (CreateItemRequest)

Cria outro item.

moveItem

object (MoveItemRequest)

Mover um item para um local especificado.

deleteItem

object (DeleteItemRequest)

Excluir um item

updateItem

object (UpdateItemRequest)

Atualizar um item.

UpdateFormInfoRequest

Atualizar informações do formulário.

Representação JSON
{
  "info": {
    object (Info)
  },
  "updateMask": string
}
Campos
info

object (Info)

As informações a serem atualizadas.

updateMask

string (FieldMask format)

Obrigatório. Somente os valores nomeados nesta máscara são alterados. É necessário especificar pelo menos um campo. A info raiz está implícita e não deve ser especificada. Um único "*" pode ser usado como abreviação para atualizar todos os campos.

Esta é uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: "user.displayName,photo".

UpdateSettingsRequest

Atualize o FormSettings do formulário.

Representação JSON
{
  "settings": {
    object (FormSettings)
  },
  "updateMask": string
}
Campos
settings

object (FormSettings)

Obrigatório. As configurações a serem atualizadas.

updateMask

string (FieldMask format)

Obrigatório. Somente os valores nomeados nesta máscara são alterados. É necessário especificar pelo menos um campo. A settings raiz está implícita e não deve ser especificada. Um único "*" pode ser usado como abreviação para atualizar todos os campos.

Esta é uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: "user.displayName,photo".

CreateItemRequest

Crie um item em um formulário.

Representação JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  }
}
Campos
item

object (Item)

Obrigatório. Item a ser criado.

location

object (Location)

Obrigatório. Onde colocar o novo item.

Local

Um local específico em um formulário.

Representação 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ão where. Obrigatório. Especifique um local no formulário. where pode ser apenas de um dos tipos a seguir:
index

integer

O índice de um item do formulário. Deve estar no intervalo

[0..N)

em que N é o número de itens no formulário.

MoveItemRequest

Mover um item em um formulário.

Representação JSON
{
  "originalLocation": {
    object (Location)
  },
  "newLocation": {
    object (Location)
  }
}
Campos
originalLocation

object (Location)

Obrigatório. Local do item a ser movido.

newLocation

object (Location)

Obrigatório. O novo local do item.

DeleteItemRequest

Excluir um item de um formulário.

Representação JSON
{
  "location": {
    object (Location)
  }
}
Campos
location

object (Location)

Obrigatório. Local do item que será excluído.

UpdateItemRequest

Atualizar um item em um formulário.

Representação JSON
{
  "item": {
    object (Item)
  },
  "location": {
    object (Location)
  },
  "updateMask": string
}
Campos
item

object (Item)

Obrigatório. Novos valores para o item. Os IDs de item e pergunta serão usados se forem fornecidos (e estiverem na máscara de campo). Se um ID estiver em branco (e na máscara de campo), um novo ID será gerado. Isso significa que é possível modificar um item acessando o formulário com forms.get, modificando sua cópia local desse item para como você quiser e usando UpdateItemRequest para gravá-lo novamente, com os IDs sendo os mesmos (ou não na máscara de campo).

location

object (Location)

Obrigatório. O local que identifica o item a ser atualizado.

updateMask

string (FieldMask format)

Obrigatório. Somente os valores nomeados nesta máscara são alterados.

Esta é uma lista separada por vírgulas de nomes de campos totalmente qualificados. Exemplo: "user.displayName,photo".

WriteControl

Fornece controle sobre como as solicitações de gravação são executadas.

Representação 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ão control. Determina a revisão do formulário da qual as alterações serão aplicadas e como a solicitação deverá se comportar se essa não for a revisão atual do formulário. control pode ser apenas de um dos tipos a seguir:
requiredRevisionId

string

O ID da revisão do formulário a que a solicitação de gravação é aplicada. Se esta não for a revisão mais recente do formulário, a solicitação não será processada e retornará um erro 400 de solicitação inválida.

targetRevisionId

string

O ID de revisão de destino do formulário a que a solicitação de gravação é aplicada.

Se tiverem ocorrido alterações após a revisão, as alterações na solicitação de atualização serão transformadas em relação a elas. Isso resulta em uma nova revisão do formulário que incorpora as alterações na solicitação e as alterações intermediárias, com o servidor resolvendo alterações conflitantes.

O ID de revisão de destino só pode ser usado para gravar em versões recentes de um formulário. Se a revisão de destino estiver muito atrasada em relação à revisão mais recente, a solicitação não será processada e vai retornar um erro 400 (solicitação inválida). A solicitação pode ser repetida depois de ler a versão mais recente do formulário. Na maioria dos casos, um ID de revisão de destino permanece válido por vários minutos depois de ser lido, mas para formulários editados com frequência, esse período pode ser menor.

Resposta

Uma única resposta de uma atualização.

Representação 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ão kind. O tipo de resposta. kind pode ser apenas de um dos tipos a seguir:
createItem

object (CreateItemResponse)

O resultado da criação de um item.

CreateItemResponse

O resultado da criação de um item.

Representação JSON
{
  "itemId": string,
  "questionId": [
    string
  ]
}
Campos
itemId

string

ID do item criado.

questionId[]

string

O ID da pergunta criada como parte do item. Para um grupo de perguntas, ele lista os IDs de todas as perguntas criadas para o item.