REST Resource: forms

Recurso: Form

Um documento do Formulários Google. Um formulário é criado no Drive, e a exclusão dele ou a mudança das proteções de acesso são feitas na API Drive.

Representação JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Campos
formId

string

Apenas saída. O ID do formulário.

info

object (Info)

Obrigatório. O título e a descrição do formulário.

settings

object (FormSettings)

As configurações do formulário. Ele precisa ser atualizado com UpdateSettingsRequest. Ele é ignorado durante forms.create e UpdateFormInfoRequest

items[]

object (Item)

Obrigatório. Uma lista dos itens do formulário, que pode incluir cabeçalhos de seção, perguntas, mídia incorporada etc.

revisionId

string

Apenas saída. O ID da revisão do formulário. Usado no WriteControl em solicitações de atualização para identificar a revisão em que as mudanças se baseiam.

O formato do ID de revisão pode mudar com o tempo, por isso deve ser tratado de forma opaca. Um ID de revisão retornado só tem validade de 24 horas após ser devolvido e não pode ser compartilhado entre os usuários. Se o ID de revisão não foi alterado entre as chamadas, o formulário não foi alterado. Por outro lado, um ID alterado (para o mesmo formulário e usuário) geralmente significa que o formulário foi atualizado. No entanto, um ID alterado também pode ser devido a fatores internos, como mudanças no formato do ID.

responderUri

string

Apenas saída. O URI do formulário que será compartilhado com os participantes. Isso abre uma página que permite ao usuário enviar respostas, mas não editar as perguntas.

linkedSheetId

string

Apenas saída. O ID da planilha Google vinculada que está acumulando respostas deste formulário (se houver uma).

Informações

As informações gerais de um formulário.

Representação JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Campos
title

string

Obrigatório. O título do formulário que fica visível para os participantes.

documentTitle

string

Apenas saída. O título do documento que fica visível no Google Drive. Se Info.title estiver vazio, talvez o documentTitle apareça no lugar na interface do Formulários Google e fique visível para os participantes. documentTitle pode ser definido na criação, mas não pode ser modificado por uma solicitação batchUpdate. Use a API Google Drive se precisar atualizar o documentTitle de forma programática.

description

string

A descrição do formulário.

FormSettings

As configurações de um formulário.

Representação JSON
{
  "quizSettings": {
    object (QuizSettings)
  }
}
Campos
quizSettings

object (QuizSettings)

Configurações relacionadas aos formulários de testes e às notas.

QuizSettings

Configurações relacionadas aos formulários de testes e às notas. Elas precisam ser atualizadas com UpdateSettingsRequest.

Representação JSON
{
  "isQuiz": boolean
}
Campos
isQuiz

boolean

Se este formulário é um teste ou não. Quando verdadeiro, as respostas são avaliadas com base na pergunta Grading. Se ela for definida como falsa, todas as perguntas Grading serão excluídas.

Item

Um único item do formulário. kind define o tipo de item.

Representação JSON
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
Campos
itemId

string

ID do item.

Ele pode ser informado na criação, mas não pode estar em uso no formulário. Se não for informado, um novo ID vai ser atribuído.

title

string

Título do item.

description

string

Descrição do item.

Campo de união kind. Obrigatório. O tipo de item. kind pode ser apenas de um dos seguintes tipos:
questionItem

object (QuestionItem)

Faz uma pergunta ao usuário.

questionGroupItem

object (QuestionGroupItem)

Fazer uma ou mais perguntas ao usuário com uma única instrução principal.

pageBreakItem

object (PageBreakItem)

Inicia uma nova página com um título.

textItem

object (TextItem)

Mostra um título e uma descrição na página.

imageItem

object (ImageItem)

Exibe uma imagem na página.

videoItem

object (VideoItem)

Exibe um vídeo na página.

QuestionItem

Um item de formulário com uma única pergunta.

Representação JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Campos
question

object (Question)

Obrigatório. A pergunta exibida.

image

object (Image)

A imagem exibida na pergunta.

Pergunta

Qualquer pergunta. O tipo específico de pergunta é conhecido pelo kind.

Representação JSON
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
Campos
questionId

string

Somente leitura. É o ID da pergunta.

Ele pode ser informado na criação, mas não pode estar em uso no formulário. Se não for informado, um novo ID vai ser atribuído.

required

boolean

Se a pergunta precisa ser respondida para que um participante envie sua resposta.

grading

object (Grading)

Configuração de avaliação da pergunta.

Campo de união kind. Obrigatório. O tipo de pergunta oferecida a um participante. kind pode ser apenas de um dos tipos a seguir:
choiceQuestion

object (ChoiceQuestion)

Um participante pode escolher entre um conjunto predefinido de opções.

textQuestion

object (TextQuestion)

O participante pode inserir uma resposta de texto livre.

scaleQuestion

object (ScaleQuestion)

O entrevistado pode escolher um número de um intervalo.

dateQuestion

object (DateQuestion)

Um participante pode inserir uma data.

timeQuestion

object (TimeQuestion)

O participante pode inserir um horário.

fileUploadQuestion

object (FileUploadQuestion)

Um participante pode fazer upload de um ou mais arquivos.

rowQuestion

object (RowQuestion)

Uma linha de QuestionGroupItem.

ChoiceQuestion

uma pergunta de rádio/caixa de seleção/menu suspenso.

Representação JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Campos
type

enum (ChoiceType)

Obrigatório. O tipo de pergunta de escolha.

options[]

object (Option)

Obrigatório. Lista de opções que um participante precisa escolher.

shuffle

boolean

Se as opções devem ser exibidas em ordem aleatória para as diferentes instâncias do teste. Isso é frequentemente usado para evitar a trapaça dos participantes que podem estar olhando para a tela de outro participante, ou para lidar com o viés em uma pesquisa que pode ser introduzida sempre colocando as mesmas opções em primeiro ou por último.

ChoiceType

O tipo escolhido.

Enums
CHOICE_TYPE_UNSPECIFIED Valor padrão. Não utilizado.
RADIO Botões de opção: todas as opções são mostradas ao usuário, que só pode escolher uma delas.
CHECKBOX Caixas de seleção: todas as opções são mostradas ao usuário, que pode selecionar quantas quiser.
DROP_DOWN Menu suspenso: as opções são exibidas apenas ao usuário sob demanda. Caso contrário, somente a opção atual será exibida. Somente uma opção pode ser escolhida.

Opção

Uma opção para uma pergunta do tipo "Escolha".

Representação JSON
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
Campos
value

string

Obrigatório. A escolha apresentada ao usuário.

image

object (Image)

Exibir imagem como uma opção.

isOther

boolean

Indica se a opção é "Outros". No momento, só se aplica aos tipos de opção RADIO e CHECKBOX, mas isso não é permitido em um QuestionGroupItem.

Campo de união go_to_section. Qual seção acessar se essa opção estiver selecionada. No momento, isso só se aplica ao tipo de opção RADIO e SELECT, mas não é permitido em um QuestionGroupItem. go_to_section só pode ser de um dos seguintes tipos:
goToAction

enum (GoToAction)

Tipo de navegação da seção.

goToSectionId

string

ID do item do cabeçalho da seção a ser acessado.

GoToAction

Constantes para navegação de seção.

Enums
GO_TO_ACTION_UNSPECIFIED Valor padrão. Não utilizado.
NEXT_SECTION Vá para a próxima seção.
RESTART_FORM Volte para o início do formulário.
SUBMIT_FORM Envie o formulário imediatamente.

Imagem

Dados que representam uma imagem.

Representação JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
Campos
contentUri

string

Apenas saída. Um URI do qual você pode fazer o download da imagem. Ele é válido apenas por um tempo limitado.

altText

string

Uma descrição da imagem que é exibida ao passar o cursor e lida por leitores de tela.

properties

object (MediaProperties)

Propriedades de uma imagem.

Campo de união image_source. O tipo de origem da imagem. Exatamente um campo de origem da imagem precisa ser definido ao criar novas imagens. image_source pode ser apenas de um dos tipos a seguir:
sourceUri

string

Apenas entrada. O URI de origem é o URI usado para inserir a imagem. O URI de origem pode ficar vazio quando buscado.

MediaProperties

Propriedades da mídia.

Representação JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
Campos
alignment

enum (Alignment)

Posição da mídia.

width

integer

A largura da mídia em pixels. Quando a mídia é exibida, ela é dimensionada para o menor valor desse valor ou a largura da forma exibida. A proporção original da mídia é preservada. Se uma largura não for especificada quando a mídia for adicionada ao formulário, ela será definida como a largura da fonte de mídia. A largura precisa estar entre 0 e 740. Só é permitido definir a largura como 0 ou não especificada ao atualizar a fonte de mídia.

Alinhamento

Alinhamento com a página.

Enums
ALIGNMENT_UNSPECIFIED Valor padrão. Não utilizado.
LEFT Alinhar à esquerda.
RIGHT Alinhar à direita.
CENTER Center.

TextQuestion

Uma pergunta baseada em texto.

Representação JSON
{
  "paragraph": boolean
}
Campos
paragraph

boolean

Se a pergunta é do tipo "Parágrafo" ou não. Caso contrário, a pergunta é de texto curto.

ScaleQuestion

Uma pergunta do tipo "Escala". O usuário tem um intervalo de valores numéricos para escolher.

Representação JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Campos
low

integer

Obrigatório. O menor valor possível para a escala.

high

integer

Obrigatório. O maior valor possível para a escala.

lowLabel

string

O rótulo a ser exibido descrevendo o ponto mais baixo da escala.

highLabel

string

O rótulo a ser exibido descrevendo o ponto mais alto da escala.

DateQuestion

Uma pergunta sobre data. O padrão para perguntas de data é apenas mês + dia.

Representação JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
Campos
includeTime

boolean

Se a hora deve ser incluída na pergunta.

includeYear

boolean

Indica se o ano deve ser incluído na pergunta.

TimeQuestion

Uma pergunta do tipo "Horário".

Representação JSON
{
  "duration": boolean
}
Campos
duration

boolean

true, se a pergunta for sobre um tempo decorrido. Caso contrário, será cerca de um horário do dia.

FileUploadQuestion

Uma pergunta sobre upload de arquivo. No momento, a API não é compatível com a criação de perguntas para upload de arquivos.

Representação JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Campos
folderId

string

Obrigatório. O ID da pasta do Google Drive onde os arquivos enviados por upload são armazenados.

types[]

enum (FileType)

Tipos de arquivo aceitos por esta pergunta.

maxFiles

integer

Número máximo de arquivos que podem ser enviados para esta pergunta em uma única resposta.

maxFileSize

string (int64 format)

Número máximo de bytes permitido para um único arquivo enviado para esta pergunta.

FileType

Tipos de arquivo que podem ser enviados para uma pergunta com upload de arquivo.

Enums
FILE_TYPE_UNSPECIFIED Valor padrão. Não utilizado.
ANY Sem restrições de tipo.
DOCUMENT Um arquivo do Documentos Google.
PRESENTATION Um arquivo do Apresentações Google.
SPREADSHEET Um arquivo do app Planilhas Google.
DRAWING Um desenho.
PDF Um PDF.
IMAGE Uma imagem.
VIDEO Um vídeo.
AUDIO Um arquivo de áudio.

RowQuestion

Configuração para uma pergunta que faz parte de um grupo de perguntas.

Representação JSON
{
  "title": string
}
Campos
title

string

Obrigatório. O título da única linha na QuestionGroupItem.

Avaliação

Avaliação de uma única pergunta

Representação JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Campos
pointValue

integer

Obrigatório. O número máximo de pontos que um participante pode ganhar automaticamente por uma resposta correta. Não pode ser negativo.

correctAnswers

object (CorrectAnswers)

Obrigatório. É a chave de resposta da pergunta. As respostas são avaliadas automaticamente com base nesse campo.

whenRight

object (Feedback)

O feedback exibido para as respostas corretas. Esse feedback só pode ser definido para perguntas de múltipla escolha com respostas corretas.

whenWrong

object (Feedback)

O feedback mostrado para as respostas incorretas. Esse feedback só pode ser definido para perguntas de múltipla escolha com respostas corretas.

generalFeedback

object (Feedback)

O feedback exibido para todas as respostas. Geralmente, esse recurso é usado em perguntas de resposta curta quando o proprietário de um teste quer mostrar aos participantes se eles responderam corretamente à pergunta antes de dar uma nota oficial. Não é possível configurar o feedback geral para perguntas de múltipla escolha com nota automática.

CorrectAnswers

É a chave de resposta de uma pergunta.

Representação JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Campos
answers[]

object (CorrectAnswer)

Uma lista de respostas corretas. Uma resposta do teste pode ser classificada automaticamente com base nessas respostas. Para perguntas de valor único, uma resposta será marcada como correta se corresponder a qualquer valor nessa lista (em outras palavras, é possível ter várias respostas corretas). Nas perguntas de valor múltiplo (CHECKBOX), uma resposta será marcada como correta se contiver exatamente os valores dessa lista.

CorrectAnswer

Uma única resposta correta para uma pergunta. Nas perguntas de valor múltiplo (CHECKBOX), pode ser necessário usar vários CorrectAnswers para representar uma única opção de resposta correta.

Representação JSON
{
  "value": string
}
Campos
value

string

Obrigatório. O valor da resposta correta. Consulte a documentação de TextAnswer.value para ver detalhes sobre como vários tipos de valor são formatados.

QuestionGroupItem

Define uma pergunta que compreende várias perguntas agrupadas.

Representação JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
Campos
questions[]

object (Question)

Obrigatório. Uma lista de perguntas que pertencem a esse grupo. Uma pergunta só pode pertencer a um grupo. As kind do grupo podem afetar os tipos de pergunta permitidos.

image

object (Image)

A imagem exibida no grupo de perguntas acima das perguntas específicas.

Campo de união kind. Obrigatório. O tipo de grupo de perguntas, que determina os tipos de perguntas permitidos e como elas são exibidas. kind pode ser apenas de um dos tipos a seguir:
grid

object (Grid)

O grupo de perguntas é uma grade com linhas de perguntas de múltipla escolha que compartilham as mesmas opções. Quando grid é definido, todas as perguntas do grupo precisam ser do tipo row.

Grade

uma grade de opções (caixas de seleção ou rádio) com cada linha formando uma pergunta separada. Cada linha tem as mesmas opções, que são mostradas como colunas.

Representação JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Campos
columns

object (ChoiceQuestion)

Obrigatório. As escolhas compartilhadas por cada pergunta na grade. Em outras palavras, os valores das colunas. Apenas as opções CHECK_BOX e RADIO são permitidas.

shuffleQuestions

boolean

Se o valor retornado for true, as perguntas serão ordenadas aleatoriamente. Em outras palavras, as linhas aparecem em uma ordem diferente para cada entrevistado.

PageBreakItem

Uma quebra de página. O título e a descrição desse item são exibidos na parte superior da nova página.

TextItem

Um item de texto.

ImageItem

Um item contendo uma imagem.

Representação JSON
{
  "image": {
    object (Image)
  }
}
Campos
image

object (Image)

Obrigatório. A imagem exibida no item.

VideoItem

Um item que contém um vídeo.

Representação JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
Campos
video

object (Video)

Obrigatório. O vídeo exibido no item.

caption

string

O texto exibido abaixo do vídeo.

Video

Dados que representam um vídeo.

Representação JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
Campos
youtubeUri

string

Obrigatório. Um URI do YouTube.

properties

object (MediaProperties)

Propriedades de um vídeo.

Métodos

batchUpdate

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

create

Crie um novo formulário usando o título fornecido na mensagem de formulário fornecida na solicitação.

get

Gerar um formulário.