ภาพรวม

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

  • สร้างแบบฟอร์มหรือแบบทดสอบ
  • อัปเดตแบบฟอร์มหรือแบบทดสอบ
  • เรียกดูคำตอบจากแบบฟอร์มหรือแบบทดสอบ
  • อ่านเนื้อหาและข้อมูลเมตาของแบบฟอร์ม
  • ตั้งค่าและรับข้อความ Push

ด้านล่างนี้เป็นรายการคำศัพท์ทั่วไปที่ใช้ใน 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"
              }
            ]
          }
        }
      }
    }
  ]
}

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