REST Resource: forms

Recurso: formulário

Um documento do Google Forms. Um formulário é criado no Drive, e a exclusão ou alteração das proteções de acesso é feita pela 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 em WriteControl em solicitações de atualização para identificar a revisão em que as mudanças se baseiam.

O formato do ID da revisão pode mudar com o tempo, então ele precisa ser tratado de forma opaca. O ID de revisão retornado só é válido por 24 horas após o retorno e não pode ser compartilhado entre usuários. Se o ID da revisão não mudar entre as chamadas, o formulário não terá sido 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 a ser compartilhado com os participantes. Isso abre uma página que permite que o usuário envie respostas, mas não edite as perguntas.

linkedSheetId

string

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

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 aparece no Drive. Se Info.title estiver vazio, documentTitle poderá aparecer no lugar dele na interface dos Formulários Google e ficar visível para os participantes. O documentTitle pode ser definido na criação, mas não pode ser modificado por uma solicitação batchUpdate. Use a API Google Drive se você precisar atualizar 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 a formulários de teste e avaliação.

QuizSettings

Configurações relacionadas a formulários de teste e avaliação. Eles precisam ser atualizados com a UpdateSettingsRequest.

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

boolean

Se o formulário é um teste ou não. Quando verdadeiro, as respostas são avaliadas com base na pergunta Grading. Se definido como falso, toda a pergunta Grading será excluída.

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

O ID do item.

Na criação, ele pode ser fornecido, mas não pode ser usado no formulário. Se não for fornecido, um novo ID será atribuído.

title

string

O título do item.

description

string

A descrição do item.

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

object (QuestionItem)

Faz uma pergunta ao usuário.

questionGroupItem

object (QuestionGroupItem)

Faz uma ou mais perguntas ao usuário com um único comando 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)

Mostra uma imagem na página.

videoItem

object (VideoItem)

Mostra um vídeo na página.

QuestionItem

Um item de formulário que contém 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

Alguma dúvida? 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)
  },
  "ratingQuestion": {
    object (RatingQuestion)
  }
  // End of list of possible types for union field kind.
}
Campos
questionId

string

Somente leitura. O ID da pergunta.

Na criação, ele pode ser fornecido, mas não pode ser usado no formulário. Se não for fornecido, um novo ID será atribuído.

required

boolean

Se a pergunta precisa ser respondida para que o participante envie a 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)

O 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 participante pode escolher um número dentro de um intervalo.

dateQuestion

object (DateQuestion)

Um participante pode inserir uma data.

timeQuestion

object (TimeQuestion)

Um 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 um QuestionGroupItem.

ratingQuestion

object (RatingQuestion)

O participante pode escolher uma nota em um conjunto predefinido de ícones.

ChoiceQuestion

Uma pergunta com botão de opção/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 múltipla escolha.

options[]

object (Option)

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

shuffle

boolean

Se as opções precisam ser mostradas em ordem aleatória para diferentes instâncias do teste. Isso é usado com frequência para evitar trapaças por parte de participantes que podem estar olhando a tela de outro participante ou para resolver a viés em uma pesquisa que pode ser introduzida ao colocar sempre as mesmas opções primeiro ou por último.

ChoiceType

O tipo de escolha.

Enums
CHOICE_TYPE_UNSPECIFIED Valor padrão. Não utilizado.
RADIO Botões de opção: todas as escolhas 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 escolher qualquer número delas.
DROP_DOWN Menu suspenso: as opções são mostradas ao usuário apenas sob demanda. Caso contrário, apenas a opção atual é mostrada. Só é possível escolher uma opção.

Opção

Uma opção para uma pergunta de múltipla 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)

Mostrar a imagem como uma opção.

isOther

boolean

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

Campo de união go_to_section. A seção para onde ir se essa opção for selecionada. Atualmente, isso só se aplica ao tipo de escolha RADIO e SELECT, mas não é permitido em um QuestionGroupItem. go_to_section pode ser apenas um dos seguintes:
goToAction

enum (GoToAction)

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

goToSectionId

string

ID do item do cabeçalho da seção para acessar.

GoToAction

Constantes para a navegação por 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 para fazer o download da imagem. Ele é válido apenas por um tempo limitado.

altText

string

Uma descrição da imagem que aparece 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

Somente entrada. O URI de origem é o URI usado para inserir a imagem. O URI da origem pode ficar vazio quando for 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 é mostrada, ela é dimensionada para o menor valor ou a largura do formulário exibido. A proporção original da mídia é preservada. Se a largura não for especificada quando a mídia for adicionada ao formulário, ela será definida como a largura da origem da mídia. A largura precisa estar entre 0 e 740, inclusive. A definição de largura como 0 ou não especificada só é permitida ao atualizar a origem da mídia.

Alinhamento

Alinhamento na página.

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

TextQuestion

Uma pergunta com base 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 com 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 valor mais alto possível para a escala.

lowLabel

string

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

highLabel

string

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

DateQuestion

Uma pergunta sobre data. As perguntas de data são definidas como apenas mês e dia.

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

boolean

Se o horário deve ser incluído como parte da pergunta.

includeYear

boolean

Se o ano deve ser incluído como parte da pergunta.

TimeQuestion

Uma pergunta sobre o tempo.

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

boolean

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

FileUploadQuestion

Uma pergunta de upload de arquivo. No momento, a API não oferece suporte à criação de perguntas com 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 Drive em que os arquivos enviados são armazenados.

types[]

enum (FileType)

Tipos de arquivos aceitos por esta pergunta.

maxFiles

integer

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

maxFileSize

string (int64 format)

Número máximo de bytes permitidos para qualquer arquivo enviado para esta pergunta.

FileType

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

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

RowQuestion

Configuração de 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 no QuestionGroupItem.

RatingQuestion

Uma pergunta de classificação. O usuário tem uma variedade de ícones para escolher.

Representação JSON
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
Campos
ratingScaleLevel

integer

Obrigatório. O nível da escala de classificação da pergunta.

iconType

enum (RatingIconType)

Obrigatório. O tipo de ícone a ser usado para a classificação.

RatingIconType

O tipo de ícone a ser usado para a classificação.

Enums
RATING_ICON_TYPE_UNSPECIFIED Valor padrão. Não utilizado.
STAR Um ícone de estrela.
HEART Um ícone de coração.
THUMB_UP Um ícone de polegar para baixo.

Avaliação

Como avaliar 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 receber automaticamente por uma resposta correta. Não pode ser negativo.

correctAnswers

object (CorrectAnswers)

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

whenRight

object (Feedback)

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

whenWrong

object (Feedback)

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

generalFeedback

object (Feedback)

O feedback mostrado para todas as respostas. Isso é comum em perguntas de resposta curta quando o proprietário do teste quer dar aos participantes uma ideia rápida de se eles responderam corretamente à pergunta antes de ter a chance de avaliar a resposta oficialmente. Não é possível definir 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 pontuada automaticamente com base nessas respostas. Para perguntas de valor único, uma resposta é marcada como correta se corresponder a qualquer valor na lista. Em outras palavras, várias respostas corretas são possíveis. Para perguntas com vários valores (CHECKBOX), uma resposta é marcada como correta se ela contém exatamente os valores desta lista.

CorrectAnswer

Uma única resposta correta para uma pergunta. Para perguntas com vários valores (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 saber como os vários tipos de valor são formatados.

QuestionGroupItem

Define uma pergunta que inclui 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 precisa pertencer a apenas um grupo. A kind do grupo pode afetar os tipos de perguntas 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 quais tipos de perguntas são 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 no grupo precisam ser do tipo row.

Grade

Uma grade de opções (botões de opção ou caixas de seleção) em que cada linha constitui 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 opções 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 true, as perguntas são ordenadas aleatoriamente. Em outras palavras, as linhas aparecem em uma ordem diferente para cada participante.

PageBreakItem

Esse tipo não tem campos.

Uma quebra de página. O título e a descrição do item aparecem na parte de cima da nova página.

TextItem

Esse tipo não tem campos.

Um item de texto.

ImageItem

Um item que contém 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.

Vídeo

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

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

create

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

get

Acesse um formulário.