REST Resource: forms

资源:表单

Google 表单文档。表单是在云端硬盘中创建的,您可以通过 Drive API 删除表单或更改其访问权限保护设置。

JSON 表示法
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
字段
formId

string

仅限输出。表单 ID。

info

object (Info)

必需。表单的标题和说明。

settings

object (FormSettings)

表单的设置。此值必须使用 UpdateSettingsRequest 进行更新;在 forms.createUpdateFormInfoRequest 期间,系统会忽略此值。

items[]

object (Item)

必需。表单项的列表,其中可能包括部分标题、问题、嵌入的媒体内容等。

revisionId

string

仅限输出。表单的修订版本 ID。用于更新请求中的 WriteControl,用于标识更改所依据的修订版。

修订 ID 的格式可能会随时间而变化,因此应以不透明的方式对待。返回的修订 ID 仅保证在返回后的 24 小时内有效,并且不能在用户之间共享。如果在两次调用之间修订 ID 保持不变,则表示表单未更改。反之,ID 发生更改(对于同一表单和用户)通常意味着表单已更新;不过,ID 发生更改也可能是由于内部因素(例如 ID 格式更改)所致。

responderUri

string

仅限输出。要与回复者共享的表单 URI。这会打开一个页面,用户可以在该页面上提交回答,但无法修改题目。

linkedSheetId

string

仅限输出。用于累积此表单回复的关联 Google 表格的 ID(如果存在此类表格)。

信息

表单的一般信息。

JSON 表示法
{
  "title": string,
  "documentTitle": string,
  "description": string
}
字段
title

string

必需。向回复者显示的表单标题。

documentTitle

string

仅限输出。文档的标题,会显示在云端硬盘中。如果 Info.title 为空,documentTitle 可能会显示在 Google 表单界面中相应位置,并且对回复者可见。documentTitle 可以在创建时设置,但无法通过批量更新请求进行修改。如果您需要以编程方式更新 documentTitle,请使用 Google Drive API

description

string

表单的说明。

FormSettings

表单的设置。

JSON 表示法
{
  "quizSettings": {
    object (QuizSettings)
  }
}
字段
quizSettings

object (QuizSettings)

与测验表单和评分相关的设置。

QuizSettings

与测验表单和评分相关的设置。必须使用 UpdateSettingsRequest 更新这些设置。

JSON 表示法
{
  "isQuiz": boolean
}
字段
isQuiz

boolean

此表单是否为测验。如果为 true,系统会根据题目 Grading 对回答进行评分。设置为 false 后,系统会删除所有题目 Grading

表单中的单个项。kind 用于定义它是哪种类型的内容。

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.
}
字段
itemId

string

商品 ID。

您可以在创建时提供此 ID,但该 ID 不得已在表单中使用。如果未提供,系统会分配一个新 ID。

title

string

商品的标题。

description

string

商品的说明。

联合字段 kind。必需。此项的类型。kind 只能是下列其中一项:
questionItem

object (QuestionItem)

向用户提出问题。

questionGroupItem

object (QuestionGroupItem)

使用一个主要问题向用户提出一个或多个问题。

pageBreakItem

object (PageBreakItem)

开始创建带有标题的新页面。

textItem

object (TextItem)

在页面上显示标题和说明。

imageItem

object (ImageItem)

在页面上显示图片。

videoItem

object (VideoItem)

在页面上显示视频。

QuestionItem

包含单个题目的表单项。

JSON 表示法
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
字段
question

object (Question)

必需。显示的问题。

image

object (Image)

问题中显示的图片。

问题

有任何问题吗?您可以通过 kind 了解具体问题类型。

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.
}
字段
questionId

string

只读。问题 ID。

您可以在创建时提供此 ID,但该 ID 不得已在表单中使用。如果未提供,系统会分配一个新 ID。

required

boolean

回复者是否必须回答此问题才能提交回复。

grading

object (Grading)

问题的评分设置。

联合字段 kind。必需。向回复者提出的问题类型。kind 只能是下列其中一项:
choiceQuestion

object (ChoiceQuestion)

回复者可以从一组预定义的选项中进行选择。

textQuestion

object (TextQuestion)

回复者可以输入自由文本回复。

scaleQuestion

object (ScaleQuestion)

回复者可以从范围中选择一个数字。

dateQuestion

object (DateQuestion)

回复者可以输入日期。

timeQuestion

object (TimeQuestion)

回复者可以输入时间。

fileUploadQuestion

object (FileUploadQuestion)

回复者可以上传一个或多个文件。

rowQuestion

object (RowQuestion)

QuestionGroupItem 的一行。

ratingQuestion

object (RatingQuestion)

回复者可以从一组预定义的图标中选择评分。

ChoiceQuestion

单选题/多选题/下拉菜单题目。

JSON 表示法
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
字段
type

enum (ChoiceType)

必需。选择题的类型。

options[]

object (Option)

必需。受访者必须从中选择的选项列表。

shuffle

boolean

是否应针对不同版本的知识问答显示随机顺序的选项。这通常用于防止可能在查看其他受访者的屏幕的受访者作弊,或者解决调查问卷中始终将相同选项放在第一个或最后一个位置可能会导致的偏差问题。

ChoiceType

选择的类型。

枚举
CHOICE_TYPE_UNSPECIFIED 默认值。未使用。
RADIO 单选按钮:系统会向用户显示所有选项,用户只能选择其中一个。
CHECKBOX 复选框:系统会向用户显示所有选项,用户可以选择任意数量的选项。
DROP_DOWN 下拉菜单:系统仅在用户需要时向其显示选项,否则只会显示当前选项。只能选择一个选项。

选项

单选题的选项。

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.
}
字段
value

string

必需。向用户显示的选项。

image

object (Image)

将图片显示为选项。

isOther

boolean

选项是否为“其他”。目前仅适用于 RADIOCHECKBOX 选择类型,但不适用于 QuestionGroupItem

联合字段 go_to_section。如果选择此选项,系统会转到哪个版块。目前仅适用于 RADIOSELECT 选择类型,但不适用于 QuestionGroupItemgo_to_section 只能是下列其中一项:
goToAction

enum (GoToAction)

版块导航类型。

goToSectionId

string

要前往的部分标题的项 ID。

GoToAction

用于版块导航的常量。

枚举
GO_TO_ACTION_UNSPECIFIED 默认值。未使用。
NEXT_SECTION 前往下一部分。
RESTART_FORM 返回表单开头。
SUBMIT_FORM 立即提交表单。

Image

表示图片的数据。

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.
}
字段
contentUri

string

仅限输出。可供下载图片的 URI;此 URI 仅限时有效。

altText

string

图片的说明,会在用户悬停时显示,并由屏幕阅读器读出。

properties

object (MediaProperties)

图片的属性。

联合字段 image_source。图片来源的类型。创建新图片时,必须设置且只设置一个图片来源字段。image_source 只能是下列其中一项:
sourceUri

string

仅限输入。来源 URI 是用于插入图片的 URI。提取时,来源 URI 可以为空。

MediaProperties

媒体的属性。

JSON 表示法
{
  "alignment": enum (Alignment),
  "width": integer
}
字段
alignment

enum (Alignment)

媒体的位置。

width

integer

媒体的宽度(以像素为单位)。显示媒体时,系统会将其缩放到此值或显示表单的宽度(以较小者为准)。系统会保留媒体的原始宽高比。如果在将媒体添加到表单时未指定宽度,则系统会将其设置为媒体来源的宽度。宽度必须介于 0 到 740 之间(包括这两个数值)。只有在更新媒体来源时,才允许将宽度设置为 0 或未指定。

对齐

页面上的对齐方式。

枚举
ALIGNMENT_UNSPECIFIED 默认值。未使用。
LEFT 左对齐。
RIGHT 右对齐。
CENTER 中心位置。

TextQuestion

基于文本的问题。

JSON 表示法
{
  "paragraph": boolean
}
字段
paragraph

boolean

题目是否为段落题目。如果不是,则问题是短文本问题。

ScaleQuestion

一个量表问题。用户可以从一系列数字值中进行选择。

JSON 表示法
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
字段
low

integer

必需。量表的最小可能值。

high

integer

必需。量表的可能最高值。

lowLabel

string

用于描述刻度上最低点的显示标签。

highLabel

string

用于描述量表上最高点的显示标签。

DateQuestion

日期问题。日期题目默认仅包含月份和日期。

JSON 表示法
{
  "includeTime": boolean,
  "includeYear": boolean
}
字段
includeTime

boolean

是否在问题中包含时间。

includeYear

boolean

是否将年份包含在问题中。

TimeQuestion

时间问题。

JSON 表示法
{
  "duration": boolean
}
字段
duration

boolean

如果问题涉及经过的时间,则为 true。否则,它与一天中的时间有关。

FileUploadQuestion

文件上传题目。该 API 目前不支持创建文件上传题目。

JSON 表示法
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
字段
folderId

string

必需。存储上传文件的云端硬盘文件夹的 ID。

types[]

enum (FileType)

此题目接受的文件类型。

maxFiles

integer

单次回答中可针对此题目上传的文件数量上限。

maxFileSize

string (int64 format)

上传到此题目的任何单个文件的字节数上限。

FileType

可上传到文件上传题目的文件类型。

枚举
FILE_TYPE_UNSPECIFIED 默认值。未使用。
ANY 对类型没有限制。
DOCUMENT Google 文档。
PRESENTATION Google 幻灯片演示文稿。
SPREADSHEET Google 表格电子表格。
DRAWING 一张绘图。
PDF PDF 文件。
IMAGE 图片。
VIDEO 视频。
AUDIO 音频文件。

RowQuestion

属于题目组的题目的配置。

JSON 表示法
{
  "title": string
}
字段
title

string

必需。QuestionGroupItem 中单行数据的标题。

RatingQuestion

评分问题。用户可以从一系列图标中进行选择。

JSON 表示法
{
  "ratingScaleLevel": integer,
  "iconType": enum (RatingIconType)
}
字段
ratingScaleLevel

integer

必需。评分问题的评分量表等级。

iconType

enum (RatingIconType)

必需。要使用的评分图标类型。

RatingIconType

要为评分使用的图标类型。

枚举
RATING_ICON_TYPE_UNSPECIFIED 默认值。未使用。
STAR 星形图标。
HEART 一个心形图标。
THUMB_UP “不喜欢”图标。

评分

为单个问题评分

JSON 表示法
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
字段
pointValue

integer

必需。受访者可以自动获得的正确答案分数上限。此值不得为负值。

correctAnswers

object (CorrectAnswers)

必需。题目的答案。系统会根据此字段自动为回答评分。

whenRight

object (Feedback)

针对正确答案显示的反馈。此反馈只能针对提供正确答案的多选题设置。

whenWrong

object (Feedback)

针对错误回答显示的反馈。此反馈只能针对提供正确答案的多选题设置。

generalFeedback

object (Feedback)

针对所有回答显示的反馈。当知识问答的所有者希望在正式评分之前,让回答者快速了解自己是否回答正确时,通常会对简答题使用此功能。您无法为自动评分的单选题设置一般反馈。

CorrectAnswers

题目的答案。

JSON 表示法
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
字段
answers[]

object (CorrectAnswer)

正确答案列表。系统可以根据这些答案自动为测验答案评分。对于单值题目,如果回答与此列表中的任何值匹配,则会被标记为正确(换句话说,可能有多个正确答案)。对于多值 (CHECKBOX) 题目,如果答案包含此列表中的所有值,则会被标记为正确答案。

CorrectAnswer

一个题目只有一个正确答案。对于多值 (CHECKBOX) 题目,可能需要多个 CorrectAnswer 来表示单个正确的回答选项。

JSON 表示法
{
  "value": string
}
字段
value

string

必需。正确答案的值。如需详细了解各种值类型的格式,请参阅 TextAnswer.value 的文档。

QuestionGroupItem

定义由多个问题组合而成的问题。

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.
}
字段
questions[]

object (Question)

必需。属于此题目分组的问题列表。一个题目只能属于一个组。群组的 kind 可能会影响允许的题目类型。

image

object (Image)

在问题组中显示在具体问题上方的图片。

联合字段 kind。必需。题目组的类型,决定了允许的题目类型以及这些题目的显示方式。kind 只能是下列其中一项:
grid

object (Grid)

题组是一个网格,其中包含共用相同选项的多选题行。设置 grid 后,分组中的所有问题都必须为 row 类型。

网格

一张包含选项(单选按钮或复选框)的网格,每行构成一个单独的问题。每行都有相同的选项,这些选项显示为列。

JSON 表示法
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
字段
columns

object (ChoiceQuestion)

必需。网格中每个问题共享的选项。换句话说,就是列的值。仅允许选择 CHECK_BOXRADIO

shuffleQuestions

boolean

如果为 true,则问题的顺序为随机顺序。换句话说,对于每位回复者,这些行显示的顺序都不同。

PageBreakItem

此类型没有字段。

分页符。此项的标题和说明会显示在新页面的顶部。

TextItem

此类型没有字段。

文本项。

ImageItem

包含图片的项。

JSON 表示法
{
  "image": {
    object (Image)
  }
}
字段
image

object (Image)

必需。项中显示的图片。

VideoItem

包含视频的项。

JSON 表示法
{
  "video": {
    object (Video)
  },
  "caption": string
}
字段
video

object (Video)

必需。商品中显示的视频。

caption

string

视频下方显示的文字。

视频

代表视频的数据。

JSON 表示法
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
字段
youtubeUri

string

必需。YouTube URI。

properties

object (MediaProperties)

视频的属性。

方法

batchUpdate

使用批量更新更改表单。

create

使用请求中提供的表单消息中提供的标题创建新表单。

get

获取表单。