Class ItemResponse

透過集合功能整理內容 你可以依據偏好儲存及分類內容。
ItemResponse

表單中的一個問題項目回覆。使用者可透過 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()

取得作答者根據答案提交的意見回饋。

Return 鍵

Object:問題項目的 QuizFeedback

授權

如果指令碼使用這個方法,就必須符合下列一或多個範圍的授權:

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

getItem()

取得這則回應所回答的問題,

Return 鍵

Item:此回應回答的問題

授權

如果指令碼使用這個方法,就必須符合下列一或多個範圍的授權:

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

getResponse()

取得作答者提交的答案。針對大多數類型的問題項目,系統會傳回 String

對於 CheckboxItem 問題,系統會傳回包含回應者選項的 String[] 陣列。陣列中字串的順序可能不同。

如果是 GridItem 問題,系統會傳回 String[] 陣列,其中索引 n 中的答案會對應至格線中的第 n + 1 列問題。如果作答者並未在格狀空間中回答問題,就會以 '' 傳回該答案。

如果是 CheckboxGridItem 問題,系統會傳回 String[][] 陣列,其中資料列索引 n 的答案會對應至核取方塊格中的 n + 1 資料列問題。如果作答者並未在格狀檢視中回答問題,就會傳回 ''

Return 鍵

ObjectStringString[]String[][] 問題解答

授權

如果指令碼使用這個方法,就必須符合下列一或多個範圍的授權:

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

getScore()

取得作答者提交答案的分數。

Return 鍵

ObjectDouble 表示問題項目的分數

授權

如果指令碼使用這個方法,就必須符合下列一或多個範圍的授權:

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

setFeedback(feedback)

設定應在作答者的答案中顯示的意見回饋。

使用新版 FormsResponse 呼叫 Form.submitGrades(responses) 後,這個方法實際上不會將表單儲存在 Google 表單中。如需範例,請參閱 setScore()

參數

名稱類型說明
feedbackObject

Return 鍵

ItemResponse:鏈結的 ItemResponse

授權

如果指令碼使用這個方法,就必須符合下列一或多個範圍的授權:

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

setScore(score)

設定已提交答案的分數。空值可清除現有的分數。

使用新版 FormsResponse 呼叫 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);

參數

名稱類型說明
scoreObject

Return 鍵

ItemResponse:鏈結的 ItemResponse

授權

如果指令碼使用這個方法,就必須符合下列一或多個範圍的授權:

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