Class ItemResponse

ItemResponse

คำตอบสำหรับคำถาม 1 ข้อภายในแบบฟอร์ม คุณเข้าถึงคำตอบของรายการได้จาก 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()

รับความคิดเห็นสำหรับคำตอบที่ผู้ตอบส่ง

รีเทิร์น

ObjectQuizFeedback ของรายการคำถาม

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getItem()

รับรายการคำถามที่คำตอบนี้ตอบ

รีเทิร์น

Item — รายการคำถามที่คำตอบนี้ตอบ

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

  • 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 ในช่องทำเครื่องหมาย ตารางกริด หากผู้ตอบไม่ได้ตอบคำถามในตาราง คำตอบนั้นจะแสดงผลเป็น ''

รีเทิร์น

ObjectString หรือ String[] หรือ String[][] ของคำตอบสำหรับคำถาม รายการ

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

getScore()

ได้รับคะแนนสำหรับคำตอบที่ผู้ตอบส่ง

รีเทิร์น

ObjectDouble ที่แทนคะแนนของรายการคำถาม

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

setFeedback(feedback)

ตั้งค่าความคิดเห็นที่ควรแสดงขึ้นสำหรับคำตอบที่ผู้ตอบส่ง

วิธีนี้ไม่ได้บันทึกความคิดเห็นในฟอร์มจริงๆ จนกว่าจะมีการเรียกใช้ Form.submitGrades(responses) ด้วย FormResponses ที่อัปเดต ดูตัวอย่างได้ที่ setScore()

พารามิเตอร์

ชื่อประเภทคำอธิบาย
feedbackObject

รีเทิร์น

ItemResponseItemResponse สำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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

setScore(score)

กำหนดคะแนนสำหรับคำตอบที่ผู้ตอบส่ง ค่า Null จะล้างค่าที่มีอยู่ คุณภาพ

วิธีนี้จะไม่บันทึกคะแนนในแบบฟอร์มจนกว่าจะมีการเรียกใช้ Form.submitGrades(responses) ด้วย FormResponses ที่อัปเดต

// 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

รีเทิร์น

ItemResponseItemResponse สำหรับการทำเชน

การให้สิทธิ์

สคริปต์ที่ใช้เมธอดนี้ต้องมีการให้สิทธิ์กับขอบเขตต่อไปนี้อย่างน้อย 1 รายการ

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