Class Form

表单

包含整体属性和项目的表单。属性包括标题、设置以及响应的存储位置。内容项包括复选框或单选按钮等问题项,而布局项则是指分页符等内容。您可以通过 FormApp 访问或创建表单。

// Open a form by ID and create a new spreadsheet.
var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz');
var ss = SpreadsheetApp.create('Spreadsheet Name');

// Update form properties via chaining.
form.setTitle('Form Name')
    .setDescription('Description of form')
    .setConfirmationMessage('Thanks for responding!')
    .setAllowResponseEdits(true)
    .setAcceptingResponses(false);

// Update the form's response destination.
form.setDestination(FormApp.DestinationType.SPREADSHEET, ss.getId());

方法

方法返回类型简介
addCheckboxGridItem()CheckboxGridItem附加一个新的问题项,以列和行网格的形式呈现,允许回复者在一系列复选框中逐行选择多项。
addCheckboxItem()CheckboxItem附加新的问题项,允许受访者选择一个或多个复选框,以及可选的“其他”字段。
addDateItem()DateItem附加新的问题项,允许回复者指明日期。
addDateTimeItem()DateTimeItem附加新问题项,允许回复者指明日期和时间。
addDurationItem()DurationItem附加新的问题项,允许回复者指明时间长度。
addEditor(emailAddress)Form将指定用户添加到 Form 的编辑器列表中。
addEditor(user)Form将指定用户添加到 Form 的编辑器列表中。
addEditors(emailAddresses)Form将指定用户数组添加到 Form 的编辑器列表中。
addGridItem()GridItem附加一个新的问题项,以列和行网格的形式呈现,允许受访者从一系列单选按钮的每行中选择一项。
addImageItem()ImageItem附加显示图片的新布局项。
addListItem()ListItem附加新的问题项,允许回复者从下拉列表中选择。
addMultipleChoiceItem()MultipleChoiceItem附加新的问题项,允许受访者从单选按钮列表或可选的“其他”字段中选择一个选项。
addPageBreakItem()PageBreakItem附加标记了页面开头的新布局项。
addParagraphTextItem()ParagraphTextItem附加新的问题项,允许回复者输入文本块。
addScaleItem()ScaleItem附加新的问题项,允许回复者从编号编号的单选按钮中选择一个。
addSectionHeaderItem()SectionHeaderItem附加新的布局项,直观地指示部分的开始。
addTextItem()TextItem附加新的问题项,允许回复者输入一行文字。
addTimeItem()TimeItem附加新问题项,允许回复者指明时间。
addVideoItem()VideoItem附加显示视频的新布局项。
canEditResponse()Boolean确定表单是否在提交后显示用于编辑回复的链接。
collectsEmail()Boolean确定表单是否会收集回复者的电子邮件地址。
createResponse()FormResponse创建表单的新响应。
deleteAllResponses()Form从表单的回复存储区中删除所有已提交的回复。
deleteItem(index)void删除表单中所有项的指定索引处的项。
deleteItem(item)void删除指定的内容。
deleteResponse(responseId)Form从表单的回复存储区中删除单个回复。
getConfirmationMessage()String获取表单的确认消息。
getCustomClosedFormMessage()String获取表单不接受回复时显示的自定义消息,或者设置空字符串(如果尚未设置自定义消息)。
getDescription()String获取表单的说明。
getDestinationId()String获取表单回复的 ID。
getDestinationType()DestinationType获取表单的响应目标位置的类型。
getEditUrl()String获取可用于访问表单编辑模式的网址。
getEditors()User[]获取此 Form 的编辑器列表。
getId()String获取表单的 ID。
getItemById(id)Item获取具有指定 ID 的项。
getItems()Item[]获取表单中所有项目的数组。
getItems(itemType)Item[]获取给定类型的所有项目的数组。
getPublishedUrl()String获取可用于响应表单的网址。
getResponse(responseId)FormResponse根据回复 ID 获取单个表单回复。
getResponses()FormResponse[]获取表单的所有响应的数组。
getResponses(timestamp)FormResponse[]获取给定日期和时间后表单的所有回复的数组。
getShuffleQuestions()Boolean确定表单的每个页面上的问题顺序是否随机。
getSummaryUrl()String获取可用于查看表单回复摘要的网址。
getTitle()String获取表单的标题。
hasLimitOneResponsePerUser()Boolean确定表单是否允许每位回复者回复一次。
hasProgressBar()Boolean确定表单是否显示进度条。
hasRespondAgainLink()Boolean确定表单是否在受访者填写完表单后显示用于提交其他回复的链接。
isAcceptingResponses()Boolean确定表单目前是否接受回复。
isPublishingSummary()Boolean确定表单是否在受访者填写完表单后显示用于查看回复摘要的链接。
isQuiz()Boolean确定表单是否为测验。
moveItem(from, to)Item将表单中所有项的指定项中的某个项移到另一个指定的索引中。
moveItem(item, toIndex)Item将表单中的指定项移到指定的索引项。
removeDestination()Form取消表单与当前回复目的地的关联。
removeEditor(emailAddress)FormForm 的编辑器列表中移除指定用户。
removeEditor(user)FormForm 的编辑器列表中移除指定用户。
requiresLogin()Boolean确定表单是要求回复者先登录相同网域中的帐号还是子网域再回复。
setAcceptingResponses(enabled)Form设置表单目前是否接受回复。
setAllowResponseEdits(enabled)Form设置表单是否在提交后显示用于编辑回复的链接。
setCollectEmail(collect)Form设置表单是否收集回复者的电子邮件地址。
setConfirmationMessage(message)Form设置表单的确认消息。
setCustomClosedFormMessage(message)Form设置在表单不接受回复时显示的消息。
setDescription(description)Form设置表单的说明。
setDestination(type, id)Form设置表单回复的保存目标位置。
setIsQuiz(enabled)Form设置表单是否为测验。
setLimitOneResponsePerUser(enabled)Form设置表单是否允许每位回复者回复一次。
setProgressBar(enabled)Form设置表单是否设有进度条。
setPublishingSummary(enabled)Form设置在受访者提交表单后,表单是否显示用于查看回复摘要的链接。
setRequireLogin(requireLogin)Form设置表单是否要求回复者先登录同一网域中的帐号或子网域,然后才能回复。
setShowLinkToRespondAgain(enabled)Form设置表单是否在回复者填写完表单后显示用于提交其他回复的链接。
setShuffleQuestions(shuffle)Form设置问题是否在表单的每个页面中随机排列。
setTitle(title)Form设置表单的标题。
shortenFormUrl(url)String将表单的长网址转换为短网址。
submitGrades(responses)Form为指定的 FormResponses 提交成绩。

详细文档

addCheckboxGridItem()

附加一个新的问题项,以列和行网格的形式呈现,允许回复者在一系列复选框中逐行选择多项。

返回

CheckboxGridItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addCheckboxItem()

附加新的问题项,允许受访者选择一个或多个复选框,以及可选的“其他”字段。

返回

CheckboxItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDateItem()

附加新的问题项,允许回复者指明日期。

返回

DateItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDateTimeItem()

附加新问题项,允许回复者指明日期和时间。

返回

DateTimeItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addDurationItem()

附加新的问题项,允许回复者指明时间长度。

返回

DurationItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditor(emailAddress)

将指定用户添加到 Form 的编辑器列表中。如果用户已存在于查看者列表中,此方法会将用户从查看者列表中升级。

参数

名称类型说明
emailAddressString要添加的用户的电子邮件地址。

返回

Form - 此 Form,用于串联。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditor(user)

将指定用户添加到 Form 的编辑器列表中。如果用户已存在于查看者列表中,此方法会将用户从查看者列表中升级。

参数

名称类型说明
userUser要添加的用户的表示形式。

返回

Form - 此 Form,用于串联。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addEditors(emailAddresses)

将指定用户数组添加到 Form 的编辑器列表中。如果有任何用户已经在查看者列表中,此方法会将他们从查看者列表中升级。

参数

名称类型说明
emailAddressesString[]要添加的用户的电子邮件地址数组。

返回

Form - 此 Form,用于串联。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addGridItem()

附加一个新的问题项,以列和行网格的形式呈现,允许受访者从一系列单选按钮的每行中选择一项。

返回

GridItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addImageItem()

附加显示图片的新布局项。

返回

ImageItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addListItem()

附加新的问题项,允许回复者从下拉列表中选择。

返回

ListItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addMultipleChoiceItem()

附加新的问题项,允许受访者从单选按钮列表或可选的“其他”字段中选择一个选项。

返回

MultipleChoiceItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addPageBreakItem()

附加标记了页面开头的新布局项。

返回

PageBreakItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addParagraphTextItem()

附加新的问题项,允许回复者输入文本块。

返回

ParagraphTextItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addScaleItem()

附加新的问题项,允许回复者从编号编号的单选按钮中选择一个。

返回

ScaleItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addSectionHeaderItem()

附加新的布局项,直观地指示部分的开始。

返回

SectionHeaderItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addTextItem()

附加新的问题项,允许回复者输入一行文字。

返回

TextItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addTimeItem()

附加新问题项,允许回复者指明时间。

返回

TimeItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

addVideoItem()

附加显示视频的新布局项。

返回

VideoItem - 新创建的内容

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

canEditResponse()

确定表单是否在提交后显示用于编辑回复的链接。

无论此设置如何,FormResponse.getEditResponseUrl() 方法都允许拥有表单编辑权限的脚本作者生成可用于修改响应的网址。

返回

Boolean - 如果表单显示“编辑您的回复”链接,则为 true;否则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

collectsEmail()

确定表单是否会收集回复者的电子邮件地址。

返回

Boolean - 如果表单收集电子邮件地址,则为 true;如果不收集表单,则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

createResponse()

创建表单的新响应。要回答问题,请根据相应内容创建 ItemResponse,然后通过调用 FormResponse.withItemResponse(response) 将其附加到此表单回复中。如需保存已组合的响应,请调用 FormResponse.submit()

返回

FormResponse - 新创建的表单响应

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteAllResponses()

从表单的回复存储区中删除所有已提交的回复。此方法不会删除存储在外部响应目标位置(如电子表格)中的回复副本,但会清除表单的摘要视图。

请注意:此方法不可撤消。

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteItem(index)

删除表单中所有项的指定索引处的项。如果给定索引中不存在任何项,则会抛出脚本异常。

参数

名称类型说明
indexInteger商品在表单中的所有商品中的索引

抛出

Error - 如果给定索引中不存在任何项

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteItem(item)

删除指定的内容。如果相应项目已被删除,系统会抛出脚本异常。

参数

名称类型说明
itemItem要删除的项

抛出

Error - 如果表单项不存在

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

deleteResponse(responseId)

从表单的回复存储区中删除单个回复。此方法不会删除存储在外部响应目标位置(如电子表格)中的响应副本,但会从表单摘要视图中移除响应。可以使用 FormResponse.getId() 检索响应 ID。

参数

名称类型说明
responseIdString要删除的表单回复的 ID

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getConfirmationMessage()

获取表单的确认消息。

返回

String - 表单的确认消息

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getCustomClosedFormMessage()

获取表单不接受回复时显示的自定义消息,或者设置空字符串(如果尚未设置自定义消息)。

返回

String - 表单不接受回复时显示的自定义消息;如果未设置自定义消息,则为空字符串

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDescription()

获取表单的说明。

返回

String - 表单说明

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDestinationId()

获取表单回复的 ID。

返回

String - 表单回复目的地的 ID

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getDestinationType()

获取表单的响应目标位置的类型。

返回

DestinationType - 表单的响应目标位置的类型

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getEditUrl()

获取可用于访问表单编辑模式的网址。

返回

String - 用于修改表单的网址

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getEditors()

获取此 Form 的编辑器列表。

返回

User[] - 具有编辑权限的用户数组。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getId()

获取表单的 ID。

返回

String - 表单的 ID

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItemById(id)

获取具有指定 ID 的项。如果 ID 与表单中的内容不匹配,则返回 null

参数

名称类型说明
idInteger商品的 ID

返回

Item - 具有指定 ID 的商品;如果商品不存在表单,则为 null

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItems()

获取表单中所有项目的数组。

返回

Item[] - 包含表单中所有项的数组

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getItems(itemType)

获取给定类型的所有项目的数组。

参数

名称类型说明
itemTypeItemType要检索的项目的类型

返回

Item[] - 该类型的所有项目的数组

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getPublishedUrl()

获取可用于响应表单的网址。

返回

String - 用于回复表单的网址

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponse(responseId)

根据回复 ID 获取单个表单回复。您可以从 FormResponse.getId() 检索响应 ID。

参数

名称类型说明
responseIdString表单回复的 ID

返回

FormResponse - 表单响应

抛出

Error - 如果响应不存在

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponses()

获取表单的所有响应的数组。

返回

FormResponse[] - 包含表单所有响应的数组

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getResponses(timestamp)

获取给定日期和时间后表单的所有回复的数组。

参数

名称类型说明
timestampDate系统应返回表单回复的最早日期和时间

返回

FormResponse[] - 表单回复列表

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getShuffleQuestions()

确定表单的每个页面上的问题顺序是否随机。

返回

Boolean - 如果表单每个页面上的问题顺序是随机的,则为 true;否则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getSummaryUrl()

获取可用于查看表单回复摘要的网址。除非将 setPublishingSummary(enabled) 设置为 true,否则只有拥有表单编辑权限的用户才能访问该网址。

返回

String - 用于查看回复摘要的网址

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

getTitle()

获取表单的标题。

返回

String - 表单的标题

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

hasLimitOneResponsePerUser()

确定表单是否允许每位回复者回复一次。如果值为 true,脚本根本无法提交表单回复。

返回

Boolean - 如果表单仅允许每个回复者发送一个回复,则为 true;否则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

hasProgressBar()

确定表单是否显示进度条。

返回

Boolean - 如果表单显示进度条,则为 true;如果表单未显示进度条,则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

确定表单是否在受访者填写完表单后显示用于提交其他回复的链接。

返回

Boolean - 如果表单显示“提交其他回复”链接,则返回 true;如果未显示,则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isAcceptingResponses()

确定表单目前是否接受回复。

返回

Boolean - 如果表单接受回复,则为 true;如果表单不接受,则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isPublishingSummary()

确定表单是否在受访者填写完表单后显示用于查看回复摘要的链接。

返回

Boolean - 如果表单显示“查看先前的回复”链接,则显示 true;如果未显示,则显示 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

isQuiz()

确定表单是否为测验。

返回

Boolean - 如果表单接受回复,则为 true;如果表单不接受,则为 false

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

moveItem(from, to)

将表单中所有项的指定项中的某个项移到另一个指定的索引中。如果 to 索引超出范围,则会抛出脚本异常。

参数

名称类型说明
fromInteger表单中所有项目的当前索引
toInteger表单中的所有项所对应的新索引

返回

Item - 已移动的内容

抛出

Error - 如果任一索引超出范围

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

moveItem(item, toIndex)

将表单中的指定项移到指定的索引项。如果指定的索引超出范围,则抛出脚本异常。

参数

名称类型说明
itemItem要移动的内容
toIndexInteger表单中的所有项所对应的新索引

返回

Item - 已移动的内容

抛出

Error - 如果索引超出范围

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeDestination()

取消表单与当前回复目的地的关联。解除关联的目标位置仍会保留之前的所有响应的副本。所有表单,包括未明确设置目标位置的表单,都在表单的回复存储区中保存回复的副本。如果表单当前没有响应目的地,此方法将不起作用。

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeEditor(emailAddress)

Form 的编辑器列表中移除指定用户。如果用户所属的类别具有常规访问权限(例如,与用户的整个网域共享 Form 或者用户可访问的共享云端硬盘位于 Form 中),则此方法不会阻止用户访问 Form

对于云端硬盘文件,此操作还会将用户从查看者列表中移除。

参数

名称类型说明
emailAddressString要移除的用户的电子邮件地址。

返回

Form - 此 Form,用于串联。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

removeEditor(user)

Form 的编辑器列表中移除指定用户。如果用户所属的类别具有常规访问权限(例如,与用户的整个网域共享 Form 或者用户可访问的共享云端硬盘位于 Form 中),则此方法不会阻止用户访问 Form

对于云端硬盘文件,此操作还会将用户从查看者列表中移除。

参数

名称类型说明
userUser要移除的用户的表示形式。

返回

Form - 此 Form,用于串联。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

requiresLogin()

确定表单是要求回复者先登录相同网域中的帐号还是子网域再回复。

返回

Boolean - 如果表单要求用户登录,则设为 true;如果用户不需要登录,则设为 false


setAcceptingResponses(enabled)

设置表单目前是否接受回复。新表单的默认值为 true

参数

名称类型说明
enabledBoolean如果表单应接受回复,则为 true;否则为 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setAllowResponseEdits(enabled)

设置表单是否在提交后显示用于编辑回复的链接。新表单的默认值为 false

无论此设置如何,FormResponse.getEditResponseUrl() 方法都允许拥有表单编辑权限的脚本作者生成可用于修改响应的网址。

参数

名称类型说明
enabledBoolean如果表单应显示“编辑您的回复”链接,则返回 true;如果表单未显示,则显示 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setCollectEmail(collect)

设置表单是否收集回复者的电子邮件地址。新表单的默认值为 false

参数

名称类型说明
collectBoolean如果表单应收集电子邮件地址,则为 true;否则为 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setConfirmationMessage(message)

设置表单的确认消息。

参数

名称类型说明
messageString表单的新确认消息

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setCustomClosedFormMessage(message)

设置在表单不接受回复时显示的消息。如果未设置任何消息,表单将使用默认消息。

参数

名称类型说明
messageString当表单不接受回复时显示的消息

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setDescription(description)

设置表单的说明。

参数

名称类型说明
descriptionString表单的新说明

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setDestination(type, id)

设置表单回复的保存目标位置。所有表单(包括未明确设置目标位置的表单),都在表单的回复存储区中保存回复的副本

参数

名称类型说明
typeDestinationType表单回复目标位置的类型
idString表单回复目的地的 ID

返回

Form - 此 Form,用于串联

抛出

Error - 如果指定的目的地 ID 无效

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setIsQuiz(enabled)

设置表单是否为测验。新表单的默认值为 false

已评分的问题只能在测验中使用,因此将此选项设为 false 会导致从所有问题中移除所有评分选项。

测验设置仅在新版表单界面中可用;创建表单将启用表单,以使用新版界面。

参数

名称类型说明
enabledBoolean如果应为表单启用测验功能,则为 true;否则为 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setLimitOneResponsePerUser(enabled)

设置表单是否允许每位回复者回复一次。新表单的默认值为 false。如果该值设置为 true,脚本根本无法提交表单回复。

参数

名称类型说明
enabledBoolean如果表单应只允许每个回复者显示一个回复,则为 true;否则为 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setProgressBar(enabled)

设置表单是否设有进度条。新表单的默认值为 false

参数

名称类型说明
enabledBoolean如果表单应显示进度条,则为 true;否则为 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setPublishingSummary(enabled)

设置在受访者提交表单后,表单是否显示用于查看回复摘要的链接。新表单的默认值为 false

参数

名称类型说明
enabledBoolean如果表单应显示“查看之前的回复”链接,则显示 true;如果表单未显示,则显示 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setRequireLogin(requireLogin)

设置表单是否要求回复者先登录同一网域中的帐号或子网域,然后才能回复。除非网域管理员更改了默认设置,否则新表单的默认值为 false

此功能仅适用于 Google Workspace 用户创建的表单。其他类型的 Google 帐号的用户不能要求用户登录。

参数

名称类型说明
requireLoginBoolean如果表单要求用户登录,则返回 true;如果用户不需要登录,则设为 false

返回

Form - 当前形式(用于链接)

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setShowLinkToRespondAgain(enabled)

设置表单是否在回复者填写完表单后显示用于提交其他回复的链接。新表单的默认值为 true

参数

名称类型说明
enabledBoolean如果表单应显示“提交其他回复”链接,则返回 true;否则,显示 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setShuffleQuestions(shuffle)

设置问题是否在表单的每个页面中随机排列。

参数

名称类型说明
shuffleBoolean如果表单各页面上的问题顺序是随机的,则为 true;否则为 false

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

setTitle(title)

设置表单的标题。

参数

名称类型说明
titleString表单的新标题

返回

Form - 此 Form,用于串联

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

shortenFormUrl(url)

将表单的长网址转换为短网址。如果长网址不属于 Google 表单,则会抛出异常。

参数

名称类型说明
urlString

返回

String - http://goo.gl/forms/1234 形式的网址

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms

submitGrades(responses)

为给定的 FormResponses 提交成绩。

如果您的代码包含 onFormSubmit 触发器,则调用 submitGrades() 会触发 onFormSubmit 条件,并导致无限循环。为了防止无限循环,请在调用 submitGrades() 之前添加用于检查成绩是否已存在的代码。

参数

名称类型说明
responsesFormResponse[]

返回

Form - 此 Form,用于串联。

授权

使用此方法的脚本需要通过以下一个或多个范围进行授权:

  • https://www.googleapis.com/auth/forms.currentonly
  • https://www.googleapis.com/auth/forms