Method: forms.batchUpdate

Mude 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

Se você quer retornar uma versão atualizada do modelo 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 booliano includeFormInResponse, um formulário com todas as mutações/atualizações aplicadas é retornado ou não. Isso pode ser posterior ao ID da revisão criado por essas mudanças.

replies[]

object (Response)

A resposta das atualizações. Isso mapeia 1:1 com 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 a aplicação da solicitação.

Escopos de autorização

Requer um dos seguintes escopos do 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)

Atualize as informações do formulário.

updateSettings

object (UpdateSettingsRequest)

Atualiza as configurações do formulário.

createItem

object (CreateItemRequest)

Cria um novo item.

moveItem

object (MoveItemRequest)

Mova um item para um local especificado.

deleteItem

object (DeleteItemRequest)

Excluir um item.

updateItem

object (UpdateItemRequest)

Atualize um item.

UpdateFormInfoRequest

Atualize as 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 raiz info é implícita e não precisa ser especificada. Um único "*" pode ser usado como atalho para atualizar todos os campos.

É 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 raiz settings é implícita e não precisa ser especificada. Um único "*" pode ser usado como atalho para atualizar todos os campos.

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

CreateItemRequest

Criar um item em um formulário.

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

object (Item)

Obrigatório. O 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 no formulário. Precisa 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. O local do item a ser movido.

newLocation

object (Location)

Obrigatório. O novo local do item.

DeleteItemRequest

Excluir um item em um formulário.

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

object (Location)

Obrigatório. O local do item a 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 de pergunta sã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 você pode modificar um item recebendo o formulário por forms.get, modificando sua cópia local para o item que você quer e usando UpdateItemRequest para gravar de volta, 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.

É 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 em que as mudanças serão aplicadas e como a solicitação vai se comportar se essa revisão não for a atual. control pode ser apenas de um dos tipos a seguir:
requiredRevisionId

string

O ID da revisão do formulário em 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 da revisão de destino do formulário em que a solicitação de gravação é aplicada.

Se houver mudanças após essa revisão, as mudanças na solicitação de atualização serão transformadas de acordo com essas alterações. Isso resulta em uma nova revisão do formulário que incorpora as mudanças na solicitação e as mudanças intermediárias, com o servidor resolvendo mudanças conflitantes.

O ID da revisão de destino só pode ser usado para gravar nas 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 retornará um 400 (erro de solicitação inválida). A solicitação pode ser repetida após a leitura da 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 após 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

O ID do item criado.

questionId[]

string

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