คำตอบสำหรับรายการคำถามรายการเดียวภายในแบบฟอร์ม คุณเข้าถึงคำตอบของรายการได้จาก FormResponse และสร้างคำตอบจาก Item ใดก็ได้ที่ขอให้ผู้ตอบตอบคำถาม
// Open a form by ID and log the responses to each question. const form = FormApp.openById('1234567890abcdefghijklmnopqrstuvwxyz'); const formResponses = form.getResponses(); for (let i = 0; i < formResponses.length; i++) { const formResponse = formResponses[i]; const itemResponses = formResponse.getItemResponses(); for (let j = 0; j < itemResponses.length; j++) { const itemResponse = itemResponses[j]; Logger.log( 'Response #%s to the question "%s" was "%s"', (i + 1).toString(), itemResponse.getItem().getTitle(), itemResponse.getResponse(), ); } }
เมธอด
| เมธอด | ประเภทการแสดงผล | รายละเอียดแบบย่อ |
|---|---|---|
get | Object | รับความคิดเห็นที่ได้รับสำหรับคำตอบที่ผู้ตอบส่ง |
get | Item | รับรายการคำถามที่คำตอบนี้ตอบ |
get | Object | รับคำตอบที่ผู้ตอบส่ง |
get | Object | รับคะแนนสำหรับคำตอบที่ผู้ตอบส่ง |
set | Item | ตั้งค่าความคิดเห็นที่ควรแสดงสำหรับคำตอบที่ผู้ตอบส่ง |
set | Item | ตั้งค่าคะแนนสำหรับคำตอบที่ผู้ตอบส่ง |
เอกสารโดยละเอียด
getFeedback()
รับความคิดเห็นที่ได้รับสำหรับคำตอบที่ผู้ตอบส่ง
รีเทิร์น
Object \- QuizFeedback สำหรับรายการคำถาม
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มี ขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต
-
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[][] ของคำตอบสำหรับรายการคำถาม
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มี ขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
getScore()
รับคะแนนสำหรับคำตอบที่ผู้ตอบส่ง
รีเทิร์น
Object \- Double ที่แสดงคะแนนสำหรับรายการคำถาม
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มี ขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setFeedback(feedback)
ตั้งค่าความคิดเห็นที่ควรแสดงสำหรับคำตอบที่ผู้ตอบส่ง
วิธีนี้จะไม่บันทึกความคิดเห็นใน Forms จริงๆ จนกว่าจะมีการเรียกใช้ Form.submitGrades(responses) ด้วย FormResponses ที่อัปเดต ดูตัวอย่างได้ที่ setScore()
พารามิเตอร์
| ชื่อ | ประเภท | คำอธิบาย |
|---|---|---|
feedback | Object |
รีเทิร์น
ItemResponse \- ItemResponse สำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มี ขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms
setScore(score)
ตั้งค่าคะแนนสำหรับคำตอบที่ผู้ตอบส่ง ค่า Null จะล้างคะแนนที่มีอยู่
วิธีนี้จะไม่บันทึกคะแนนใน Forms จริงๆ จนกว่าจะมีการเรียกใช้ 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". const formResponses = FormApp.getActiveForm().getResponses(); // Go through each form response for (let i = 0; i < formResponses.length; i++) { const response = formResponses[i]; const items = FormApp.getActiveForm().getItems(); // Assume it's the first item const item = items[0]; const itemResponse = response.getGradableResponseForItem(item); // Give half credit for "Sometimes true". if (itemResponse != null && itemResponse.getResponse() === 'Sometimes true') { const points = item.asMultipleChoiceItem().getPoints(); itemResponse.setScore(points * 0.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 สำหรับการเชื่อมโยง
การให้สิทธิ์
สคริปต์ที่ใช้วิธีนี้ต้องมีการให้สิทธิ์ที่มี ขอบเขตต่อไปนี้อย่างน้อย 1 ขอบเขต
-
https://www.googleapis.com/auth/forms.currentonly -
https://www.googleapis.com/auth/forms