ภาพรวม

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

  • สร้างแบบฟอร์มหรือแบบทดสอบ
  • เผยแพร่และจัดการผู้ตอบ
  • อัปเดตแบบฟอร์มหรือแบบทดสอบ
  • เรียกข้อมูลคำตอบจากแบบฟอร์มหรือแบบทดสอบ
  • อ่านเนื้อหาและข้อมูลเมตาของแบบฟอร์ม
  • ตั้งค่าและรับข้อความ Push
ต่อไปนี้คือรายการคำที่ใช้กันโดยทั่วไปใน Forms API
Form

เอกสาร Google ฟอร์มที่สร้างและจัดเก็บไว้ในไดรฟ์ แบบฟอร์มแต่ละรายการแสดงด้วยทรัพยากร a Form และมีค่า a unique formId ที่ไม่ซ้ำกัน ซึ่งประกอบด้วยตัวอักษร ตัวเลข เครื่องหมายยัติภังค์ หรือ ขีดล่าง คุณดูรหัสแบบฟอร์มได้ใน URL ของฟอร์มดังนี้

https://docs.google.com/forms/d/FORM_ID/edit

Quiz

เอกสาร Google ฟอร์มประเภทหนึ่งที่ให้คุณให้คะแนนคำตอบในแบบฟอร์มเทียบกับเฉลยคำตอบได้ คุณจะสร้างแบบทดสอบได้โดยใช้ เมธอด batchUpdate() เพื่ออัปเดตการตั้งค่า isQuiz ในแบบฟอร์มที่มีอยู่เป็น true เท่านั้น

Grading
คะแนนเต็ม เฉลยคำตอบ และความคิดเห็นสำหรับคำถาม ซึ่งจะนำไปใช้เมื่อ isQuiz เป็น true แสดงด้วยทรัพยากร Grading
Feedback
คำตอบที่ส่งให้ผู้ใช้ปลายทางเมื่อตอบคำถามในแบบทดสอบ ซึ่งแสดงด้วยทรัพยากร Feedback
Item

องค์ประกอบเดียวในแบบฟอร์ม ซึ่งแสดงด้วยทรัพยากร Item Item เป็นองค์ประกอบที่ทำซ้ำได้ซึ่งอาจมีส่วน กลุ่มคำถาม คำถาม ข้อความ รูปภาพ หรือวิดีโอ

Question

คำถามเดียวในแบบฟอร์ม ซึ่งแสดงด้วยทรัพยากร Question

Question group

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

Section

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

Answer

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

Response

การส่งแบบฟอร์มของผู้ใช้ปลายทาง ซึ่งแสดงด้วยทรัพยากร FormResponse

Watch

ทริกเกอร์ที่ติดตามการเปลี่ยนแปลงของสคีมาแบบฟอร์ม (เช่น การแก้ไขคำถาม) หรือการส่งการตอบกลับแบบฟอร์ม และส่งข้อความ 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": "Famous Black Women"
  },
  "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"
              }
            ]
          }
        }
      }
    }
  ],
  "publishSettings" : {
    "isPublished": true,
    "isAcceptingResponses": true
  }
}

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