對表單中一個問題項目的回應。使用者可以透過 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)
設定應針對作答者提交的答案顯示的意見回饋。
使用更新的 FormResponses 呼叫 Form.submitGrades(responses)
之前,這個方法才會實際將意見回饋儲存在表單中。如需範例,請參閱 setScore()
。
參數
名稱 | 類型 | 說明 |
---|---|---|
feedback | Object |
回攻員
ItemResponse
- 鏈結的 ItemResponse
授權
使用這個方法的指令碼需要下列一或多個範圍的授權:
-
https://www.googleapis.com/auth/forms.currentonly
-
https://www.googleapis.com/auth/forms
setScore(score)
為作答者已提交的答案設定分數。空值會清除現有資源 分數
除非使用更新的 FormResponses 呼叫 Form.submitGrades(responses)
,否則這個方法不會實際將分數儲存在表單中。
// 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