ภาพรวม

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 ของ Google

คำตอบ

คำตอบของผู้ใช้ปลายทางสำหรับคำถาม ซึ่งแสดงโดยแหล่งข้อมูล 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"
              }
            ]
          }
        }
      }
    }
  ]
}

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