ภาพรวม

Google Forms API เป็นอินเทอร์เฟซ RESTful ที่ช่วยให้คุณสร้างและแก้ไขแบบฟอร์ม และแบบทดสอบ เรียกดูข้อมูลคำตอบแบบฟอร์มและคะแนนแบบทดสอบ ตั้งค่าเฉลยคำตอบแบบทดสอบ พร้อมความคิดเห็นอัตโนมัติ และรับข้อความ Push ได้ การใช้งาน API นี้ที่พบบ่อยที่สุด คือการทำงานต่อไปนี้

  • สร้างแบบฟอร์มหรือแบบทดสอบ
  • เผยแพร่และจัดการผู้ตอบ
  • อัปเดตแบบฟอร์มหรือแบบทดสอบ
  • ดึงคำตอบจากแบบฟอร์มหรือแบบทดสอบ
  • อ่านเนื้อหาและข้อมูลเมตาของแบบฟอร์ม
  • ตั้งค่าและรับข้อความ Push
รายการคำศัพท์ทั่วไปที่ใช้ใน Forms API มีดังนี้
แบบฟอร์ม

เอกสาร Google ฟอร์มที่สร้างและจัดเก็บไว้ในไดรฟ์ แต่ละแบบฟอร์มจะแสดงด้วยทรัพยากร Form และมีค่า formId ที่ไม่ซ้ำกัน ซึ่งประกอบด้วยตัวอักษร ตัวเลข ขีดกลาง หรือขีดล่าง คุณจะพบรหัสแบบฟอร์มใน URL ของ Google ฟอร์ม

https://docs.google.com/forms/d/FORM_ID/edit

แบบทดสอบ

เอกสาร Google ฟอร์มประเภทหนึ่งที่ช่วยให้สามารถให้คะแนน คำตอบของแบบฟอร์มเทียบกับเฉลยคำตอบได้ คุณจะสร้างแบบทดสอบได้โดยใช้เมธอด batchUpdate() เพื่ออัปเดตการตั้งค่า isQuiz ในแบบฟอร์มที่มีอยู่เป็น true เท่านั้น

การให้คะแนน
คะแนนเต็ม เฉลยคำตอบ และความคิดเห็นสำหรับคำถามที่ใช้เมื่อ isQuizเป็น true แสดงโดยทรัพยากร Grading
ความคิดเห็น
คำตอบที่แสดงต่อผู้ใช้ปลายทางเมื่อตอบคำถามในแบบทดสอบ ซึ่งแสดงโดยทรัพยากร Feedback
รายการ

องค์ประกอบเดียวในแบบฟอร์มซึ่งแสดงโดยทรัพยากร Item Item เป็น องค์ประกอบที่ทำซ้ำได้ซึ่งอาจมีส่วน กลุ่มคำถาม คำถาม ข้อความ รูปภาพ หรือวิดีโอ

คำถาม

คำถามเดียวในแบบฟอร์มซึ่งแสดงโดยทรัพยากร Question

กลุ่มคำถาม

กลุ่มคำถามที่มีชุดคำตอบที่เป็นไปได้ชุดเดียวกัน (เช่น ตารางคะแนนตั้งแต่ 1 ถึง 5) แสดงโดย QuestionGroupItem ทรัพยากร

Section

ส่วนเป็นวิธีแบ่งแบบฟอร์มออกเป็นหลายหน้าและเพิ่ม ตรรกะแบบมีเงื่อนไข (เช่น แสดงเฉพาะคำถามบางข้อตามวิธีที่ผู้ใช้ตอบ) ส่วนต่างๆ จะสอดคล้องกับทรัพยากร PageBreakItem

คำตอบ

คำตอบของผู้ใช้ปลายทางสำหรับคำถาม ซึ่งแสดงโดยทรัพยากร Answer รวมถึงข้อมูลคะแนน (หากมี) ข้อมูลเมตา และ เนื้อหาของคำตอบ

การตอบกลับ

การส่งแบบฟอร์มของผู้ใช้ปลายทาง ซึ่งแสดงโดยทรัพยากร FormResponse

ดู

ทริกเกอร์ที่ติดตามการเปลี่ยนแปลงทั้งในสคีมาของแบบฟอร์ม (เช่น การแก้ไขคำถาม) หรือการส่งคำตอบของแบบฟอร์ม และส่งการแจ้งเตือนแบบพุชเมื่อมีการเปลี่ยนแปลงเกิดขึ้น แสดงโดยทรัพยากร Watch

โครงสร้างแบบฟอร์ม

เมื่อจัดการแบบฟอร์มและแบบทดสอบ การทำความเข้าใจวิธีระบุช่องต่างๆ อาจซับซ้อน เนื่องจากออบเจ็กต์แบบฟอร์มจำนวนมากสามารถซ้อนกันได้ ในหลายๆ วิธี หากต้องการดูว่าการแสดงภาพของแบบฟอร์ม เชื่อมโยงกับช่องต่างๆ อย่างไร เราขอแนะนำให้ใช้ UI เพื่อสร้างตัวอย่าง แบบฟอร์มที่แอปพลิเคชันของคุณอาจสร้างขึ้น จากนั้นดึงข้อมูล JSON ที่เกี่ยวข้อง โดยใช้เมธอด forms.get() เพื่อให้คุณเปรียบเทียบได้ เช่น แบบทดสอบตัวอย่างนี้ สอดคล้องกับ JSON ต่อไปนี้

{   "formId": "FORM_ID",   "info": {     "title": "Famous Black Women",     "description": "Please complete this quiz based off of this week's readings for class.",     "documentTitle": "API Example Quiz"   },   "settings": {     "quizSettings": {       "isQuiz": true     }   },   "revisionId": "00000021",   "responderUri": "https://docs.google.com/forms/d/e/1FAIpQLSd0iBLPh4suZoGW938EU1WIxzObQv_jXto0nT2U8HH2KsI5dg/viewform",   "items": [     {       "itemId": "5d9f9786",       "imageItem": {         "image": {           "contentUri": "DIRECT_URL",           "properties": {             "alignment": "LEFT"           }         }       }     },     {       "itemId": "72b30353",       "title": "Which African American woman authored \"I Know Why the Caged Bird Sings\"?",       "questionItem": {         "question": {           "questionId": "25405d4e",           "required": true,           "grading": {             "pointValue": 2,             "correctAnswers": {               "answers": [                 {                   "value": "Maya Angelou"                 }               ]             }           },           "choiceQuestion": {             "type": "RADIO",             "options": [               {                 "value": "Maya Angelou"               },               {                 "value": "bell hooks"               },               {                 "value": "Alice Walker"               },               {                 "value": "Roxane Gay"               }             ]           }         }       }     },     {       "itemId": "0a4859c8",       "title": "Who was the first Dominican-American woman elected to state office?",       "questionItem": {         "question": {           "questionId": "37fff47a",           "grading": {             "pointValue": 2,             "correctAnswers": {               "answers": [                 {                   "value": "Grace Diaz"                 }               ]             }           },           "choiceQuestion": {             "type": "RADIO",             "options": [               {                 "value": "Rosa Clemente"               },               {                 "value": "Grace Diaz"               },               {                 "value": "Juana Matias"               },               {                 "value": "Sabrina Matos"               }             ]           }         }       }     }   ],   "publishSettings" : {     "isPublished": true,     "isAcceptingResponses": true   } } 

ขั้นตอนถัดไป