ภาพรวม

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"
              }
            ]
          }
        }
      }
    }
  ]
}

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