Tổng quan

Google Biểu mẫu API là một giao diện RESTful cho phép bạn tạo và sửa đổi biểu mẫu cũng như bài kiểm tra, truy xuất câu trả lời của biểu mẫu và điểm của bài kiểm tra, thiết lập khoá đáp án của bài kiểm tra kèm theo phản hồi tự động và nhận thông báo đẩy. Các trường hợp sử dụng phổ biến nhất của API này bao gồm những nhiệm vụ sau:

  • Tạo biểu mẫu hoặc bài kiểm tra
  • Xuất bản và quản lý người trả lời
  • Cập nhật biểu mẫu hoặc bài kiểm tra
  • Truy xuất câu trả lời từ biểu mẫu hoặc bài kiểm tra
  • Đọc nội dung và siêu dữ liệu của biểu mẫu
  • Thiết lập và nhận thông báo đẩy
Sau đây là danh sách các thuật ngữ thường dùng trong Forms API:
Biểu mẫu

Một tài liệu 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 ngang hoặc dấu gạch dưới. Bạn có thể tìm thấy mã nhận dạng 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ể của Google Biểu mẫu cho phép chấm điểm các câu trả lời trên 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
Câu trả lời được đưa ra cho người dùng cuối 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 biểu mẫu, được biểu thị bằng tài nguyên Item. 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 duy nhất 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âu hỏi có cùng một tập hợp câu trả lời có thể (ví dụ: một lưới gồm các mức phân loại 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 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 về đ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 các thay đổi về giản đồ biểu mẫu (chẳng hạn như chỉnh sửa câu hỏi) hoặc việc gửi phản hồi biểu mẫu và gửi thông báo đẩy khi có thay đổi xảy ra. Đượ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 tìm 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 một biểu mẫu tương ứng 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ụ: ví dụ về bài kiểm tra 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"
              }
            ]
          }
        }
      }
    }
  ],
  "publishSettings" : {
    "isPublished": true,
    "isAcceptingResponses": true
  }
}

Các bước tiếp theo