对表单中的一个问题项的回复。您可以通过 FormResponse
访问项目回复,也可以通过要求回复者回答问题的任何 Item
创建回复。
// Open a form by ID and log the responses to each question. var form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); var formResponses = form.getResponses(); for (var i = 0; i < formResponses.length; i++) { var formResponse = formResponses[i]; var itemResponses = formResponse.getItemResponses(); for (var j = 0; j < itemResponses.length; j++) { var itemResponse = itemResponses[j]; Logger.log('Response #%s to the question "%s" was "%s"', (i + 1).toString(), itemResponse.getItem().getTitle(), itemResponse.getResponse()); } }
方法
方法 | 返回类型 | 简介 |
---|---|---|
getFeedback() | Object | 获取针对受访者提交的回答给出的反馈。 |
getItem() | Item | 获取此响应回答的问题项。 |
getResponse() | Object | 获取受访者提交的回答。 |
getScore() | Object | 获取受访者提交的答案的得分。 |
setFeedback(feedback) | ItemResponse | 设置要针对受访者提交的回答显示的反馈。 |
setScore(score) | ItemResponse | 为受访者提交的回答设置分数。 |
详细文档
getFeedback()
获取针对受访者提交的回答给出的反馈。
弃踢回攻
Object
- 题目的 QuizFeedback
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getItem()
getResponse()
获取受访者提交的回答。对于大多数类型的问题项,这将返回一个 String
。
对于 CheckboxItem
问题,此方法会返回包含回复者选择的 String[]
数组。数组中字符串的顺序可能会有所不同。
对于 GridItem
问题,这将返回一个 String[]
数组,其中索引 n
处的答案对应于网格中第 n + 1
行的问题。如果受访者未回答网格中的问题,则该答案将作为 ''
返回。
对于 CheckboxGridItem
问题,这将返回一个 String[][]
数组,其中行索引 n
处的答案对应于复选框网格中第 n + 1
行的问题。如果受访者未回答网格中的问题,则该答案将返回 ''
。
弃踢回攻
Object
- 问题项的答案的 String
、String[]
或 String[][]
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
getScore()
获取受访者提交的答案的得分。
弃踢回攻
Object
- 表示题目分数的 Double
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
setFeedback(feedback)
设置应针对受访者提交的回答显示的反馈。
实际上,在使用更新后的 FormResponse 调用 Form.submitGrades(responses)
之前,此方法不会将反馈保存到表单中。如需查看示例,请参阅 setScore()
。
参数
名称 | 类型 | 说明 |
---|---|---|
feedback | Object |
弃踢回攻
ItemResponse
- 用于链接的 ItemResponse
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
setScore(score)
为受访者提交的回答设置分数。null 值会清除现有得分。
在使用更新后的 FormResponse 调用 Form.submitGrades(responses)
之前,此方法实际上不会将得分保存在 Google 表单中。
// For a multiple choice question with options: "Always true", "Sometimes true", and "Never", // award half credit for responses that answered "Sometimes true". var formResponses = FormApp.getActiveForm().getResponses(); // Go through each form response for (var i = 0; i < formResponses.length; i++) { var response = formResponses[i]; var items = FormApp.getActiveForm().getItems(); // Assume it's the first item var item = items[0]; var itemResponse = response.getGradableResponseForItem(item); // Give half credit for "Sometimes true". if (itemResponse != null && itemResponse.getResponse() == 'Sometimes true') { var points = item.asMultipleChoiceItem().getPoints(); itemResponse.setScore(points * .5); // This saves the grade, but does not submit to Forms yet. response.withItemGrade(itemResponse); } } // Grades are actually submitted to Forms here. FormApp.getActiveForm().submitGrades(formResponses);
参数
名称 | 类型 | 说明 |
---|---|---|
score | Object |
弃踢回攻
ItemResponse
- 用于链接的 ItemResponse
授权
使用此方法的脚本需要获得以下一个或多个范围的授权:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms