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 cũng như bài kiểm tra, truy xuất câu trả lời trên biểu mẫu và điểm bài kiểm tra, thiết lập khoá đáp án bài kiểm tra bằng 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 các nhiệm vụ sau:

  • 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 từ mộ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

Dưới đây là danh sách các thuật ngữ phổ biến được dùng trong API Biểu mẫu:

Biểu mẫu

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 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 Google Biểu mẫu cụ thể cho phép chấm điểm các câu trả lời trên biểu mẫu theo đá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
Phản hồi được đưa ra cho người dùng cuối khi trả lời 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 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âu hỏi đều có cùng một bộ câu trả lời có thể có (ví dụ: lưới điểm xếp hạng từ 1 đến 5). Được biểu thị bằng tài nguyên QuestionGroupItem.

Section

Mục 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.

Câu 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

Người dùng cuối gửi một 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 giản đồ biểu mẫu (chẳng hạn như nội dung chỉnh sửa đối với câu hỏi) hoặc nội dung gửi phản hồi 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 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 bản trình bày hình ảnh của một 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ề biểu mẫu mà ứng dụng của bạn có thể tạo. Sau đó, 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