Tổng quan

API Google Biểu mẫu là một giao diện RESTful cho phép bạn tạo và sửa đổi biểu mẫu và bài kiểm tra, truy xuất câu trả lời cho biểu mẫu và điểm của bài kiểm tra, thiết lập khoá trả lời bài kiểm tra bằng tính năng phản hồi tự động và nhận thông báo đẩy. Sau đây là các cách sử dụng phổ biến nhất của API này:

  • Tạo biểu mẫu hoặc bài kiểm tra
  • Cập nhật biểu mẫu hoặc bài kiểm tra
  • Truy xuất câu trả lời qua biểu mẫu hoặc bài kiểm tra
  • Đọc siêu dữ liệu và nội dung biểu mẫu
  • Thiết lập và nhận thông báo đẩy

Dưới đây là danh sách các thuật ngữ thường dùng trong API Biểu mẫu:

Biểu mẫu

Một tài liệu trên Google Biểu mẫu, được tạo và lưu trữ trong Drive. Mỗi biểu mẫu được biểu thị bằng một tài nguyên Form và có một giá trị formId duy nhất, chứa chữ cái, số, dấu gạch nối hoặc dấu gạch dưới. Bạn có thể tìm thấy mã biểu mẫu trong URL của Google Biểu mẫu:

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

Bài kiểm tra

Một loại tài liệu cụ thể trên Google Biểu mẫu cho phép chấm điểm câu trả lời trong biểu mẫu dựa trên đáp án. Bạn chỉ có thể tạo bài kiểm tra bằng cách sử dụng phương thức batchUpdate() để cập nhật chế độ cài đặt isQuiz trên một biểu mẫu hiện có thành true.

Chấm điểm
Giá trị điểm, đáp án và ý kiến phản hồi cho một câu hỏi, được áp dụng khi isQuiztrue. Được biểu thị bằng tài nguyên Grading.
Phản hồi
Một câu trả lời mà người dùng cuối nhận được khi trả lời một câu hỏi trong bài kiểm tra, được biểu thị bằng tài nguyên Feedback.
Item

Một phần tử trong một biểu mẫu, được biểu thị bằng tài nguyên Item (Mục). Item là một phần tử lặp lại có thể chứa một phần, nhóm câu hỏi, câu hỏi, văn bản, hình ảnh hoặc video.

Câu hỏi

Một câu hỏi trên biểu mẫu, được biểu thị bằng tài nguyên Question.

Nhóm câu hỏi

Một nhóm các câu hỏi mà tất cả đều có cùng một bộ câu trả lời khả thi (ví dụ: một lưới điểm xếp hạng từ 1 đến 5). Được biểu thị bằng tài nguyên QuestionGroupItem.

Section

Phần là một cách để chia biểu mẫu thành nhiều trang và thêm logic có điều kiện (chẳng hạn như chỉ hiển thị một số câu hỏi nhất định dựa trên cách người dùng trả lời). Các phần tương ứng với tài nguyên PageBreakItem.

Trả lời

Câu trả lời của người dùng cuối cho một câu hỏi, được biểu thị bằng tài nguyên Answer. Bao gồm cả thông tin điểm (nếu có), siêu dữ liệu và nội dung của câu trả lời.

Đáp

Việc người dùng cuối gửi biểu mẫu, được biểu thị bằng tài nguyên FormResponse.

Xem

Một điều kiện kích hoạt theo dõi các thay đổi đối với thay đổi về giản đồ biểu mẫu (chẳng hạn như chỉnh sửa câu hỏi) hoặc gửi câu trả lời cho biểu mẫu và gửi thông báo đẩy khi có thay đổi. Được biểu thị bằng tài nguyên Watch.

Cấu trúc biểu mẫu

Khi quản lý biểu mẫu và bài kiểm tra, việc hiểu cách chỉ định các trường khác nhau có thể phức tạp, vì nhiều đối tượng biểu mẫu có thể được lồng vào nhau theo nhiều cách. Để xem cách biểu diễn trực quan của biểu mẫu liên kết với các trường, bạn nên sử dụng giao diện người dùng để tạo một vài ví dụ về các biểu mẫu mà ứng dụng của bạn có thể tạo. Sau đó, hãy truy xuất JSON tương ứng bằng phương thức forms.get() để bạn có thể so sánh. Ví dụ: bài kiểm tra mẫu này tương ứng với JSON sau:

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

Các bước tiếp theo