ภาพรวม

Google ฟอร์ม 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 ข้อในแบบฟอร์มซึ่งแสดงโดยแหล่งข้อมูล Question

กลุ่มคำถาม

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

Section

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

คำตอบ

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

คำตอบ

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

ดู

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

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

เมื่อจัดการแบบฟอร์มและแบบทดสอบ การทำความเข้าใจวิธีระบุช่องต่างๆ อาจเป็นเรื่องซับซ้อนเนื่องจากออบเจ็กต์แบบฟอร์มหลายรายการสามารถซ้อนกันอยู่ภายในได้หลายวิธี หากต้องการดูว่าการแสดงแบบฟอร์มการแมปกับช่องหรือไม่ เราขอแนะนำให้ใช้ UI เพื่อสร้างตัวอย่าง 2-3 รายการของแบบฟอร์มที่แอปพลิเคชันของคุณอาจสร้างขึ้น จากนั้นดึง 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"
              }
            ]
          }
        }
      }
    }
  ]
}

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