Method: forms.batchUpdate

Altere 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 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 uma 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 código de revisão criado por essas alterações.

replies[]

object (Response)

A resposta das atualizações. Isso mapeia individualmente as solicitações de atualização, embora as respostas para 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)

Atualize as 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 específico.

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. Pelo menos um campo precisa ser especificado. A raiz info está implícita e não deve ser especificada. Uma única "*" pode ser usada como um atalho 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 que serão atualizadas.

updateMask

string (FieldMask format)

Obrigatório. Somente os valores nomeados nesta máscara são alterados. Pelo menos um campo precisa ser especificado. A raiz settings está implícita e não deve ser especificada. Uma única "*" pode ser usada como um atalho para atualizar todos os campos.

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

CriarItemSolicitação

Crie 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.

Location

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 dentro do intervalo

[0..N)

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

MoverItemRequest

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 de um formulário.

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

object (Location)

Obrigatório. O local do item a ser excluído.

AtualizaçãoItemItem

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 códigos de itens e perguntas 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 você pode modificar um item acessando o formulário via forms.get, modificando sua cópia local do item conforme desejado e usando UpdateItemRequest para gravá-lo de volta, com os IDs iguais 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".

GravarControle

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

string

O ID de revisão do formulário ao qual 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 de solicitação inválida 400.

targetRevisionId

string

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

Se tiverem ocorrido alterações após esta revisão, as alterações na solicitação de atualização serão transformadas em relação a essas alterações. 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 código de 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 atrás em relação à revisão mais recente, a solicitação não será processada e retornará um erro 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 código de revisão de destino permanece válido por vários minutos depois de ser lido, mas para formulários editados com frequência, essa janela pode ser mais curta.

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.

CriarItemResposta

O resultado da criação de um item.

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

string

Código do item criado.

questionId[]

string

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