ภาพรวม

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 เป็น องค์ประกอบที่ซ้ำซึ่งอาจมีส่วน กลุ่มคำถาม คำถาม ข้อความ รูปภาพ หรือวิดีโอ

Question

คำถามข้อเดียวในแบบฟอร์มซึ่งแสดงด้วย แหล่งข้อมูล 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"
              }
            ]
          }
        }
      }
    }
  ]
}

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