REST Resource: forms

Tài nguyên: Biểu mẫu

Tài liệu Google Biểu mẫu. Biểu mẫu được tạo trong Drive và việc xóa biểu mẫu hoặc thay đổi biện pháp bảo vệ quyền truy cập của biểu mẫu được thực hiện qua API Drive.

Biểu diễn dưới dạng JSON
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
Các trường
formId

string

Chỉ đầu ra. Mã biểu mẫu.

info

object (Info)

Bắt buộc. Tiêu đề và mô tả của biểu mẫu.

settings

object (FormSettings)

Cài đặt của biểu mẫu. Bạn phải cập nhật thuộc tính này bằng UpdateSettingsRequest. Hàm này sẽ bị bỏ qua trong forms.createUpdateFormInfoRequest.

items[]

object (Item)

Bắt buộc. Danh sách các mục của biểu mẫu, có thể bao gồm tiêu đề mục, câu hỏi, phương tiện được nhúng, v.v.

revisionId

string

Chỉ đầu ra. ID sửa đổi của biểu mẫu. Được sử dụng trong WriteControl trong các yêu cầu cập nhật để xác định bản sửa đổi dựa trên những thay đổi đó.

Định dạng của ID sửa đổi có thể thay đổi theo thời gian, vì vậy nó phải được xử lý mờ. ID bản sửa đổi được trả lại chỉ được đảm bảo có hiệu lực trong 24 giờ sau khi được trả lại và không được chia sẻ cho người dùng. Nếu ID sửa đổi không thay đổi giữa các cuộc gọi thì biểu mẫu không thay đổi. Ngược lại, ID đã thay đổi (cho cùng một biểu mẫu và người dùng) thường có nghĩa là biểu mẫu đã được cập nhật; tuy nhiên, ID đã thay đổi cũng có thể do các yếu tố nội bộ như thay đổi định dạng ID.

responderUri

string

Chỉ đầu ra. URI biểu mẫu để chia sẻ với người trả lời. Thao tác này sẽ mở một trang cho phép người dùng gửi câu trả lời nhưng không thể chỉnh sửa câu hỏi.

linkedSheetId

string

Chỉ đầu ra. Mã của Google Trang tính được liên kết đang tích lũy phản hồi từ Biểu mẫu này (nếu có một Trang tính như vậy).

Thông tin

Thông tin chung cho một biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "title": string,
  "documentTitle": string,
  "description": string
}
Các trường
title

string

Bắt buộc. Tiêu đề của biểu mẫu hiển thị cho người trả lời.

documentTitle

string

Chỉ đầu ra. Tiêu đề của tài liệu hiển thị trong Drive. Nếu Info.title trống, documentTitle có thể xuất hiện ở vị trí của nó trong giao diện người dùng Google Biểu mẫu và người trả lời sẽ nhìn thấy nó. Bạn có thể đặt documentTitle khi tạo nhưng không thể sửa đổi bằng yêu cầu bundleUpdate. Vui lòng sử dụng API Google Drive nếu bạn cần cập nhật documentTitle theo phương thức lập trình.

description

string

Mô tả biểu mẫu.

Cài đặt biểu mẫu

Cài đặt của biểu mẫu.

Biểu diễn dưới dạng JSON
{
  "quizSettings": {
    object (QuizSettings)
  }
}
Các trường
quizSettings

object (QuizSettings)

Các tùy chọn cài đặt liên quan đến biểu mẫu bài kiểm tra và cách chấm điểm.

Cài đặt câu đố

Các tùy chọn cài đặt liên quan đến biểu mẫu bài kiểm tra và cách chấm điểm. Những thao tác này phải được cập nhật bằng UpdateSettingsRequest.

Biểu diễn dưới dạng JSON
{
  "isQuiz": boolean
}
Các trường
isQuiz

boolean

Cho dù biểu mẫu này là bài kiểm tra hay không. Khi đúng, câu trả lời được chấm điểm dựa trên câu hỏi Grading. Khi bạn đặt thành false, tất cả câu hỏi Grading sẽ bị xoá.

Mục

Một mục duy nhất của biểu mẫu. kind xác định mục của mục đó.

Biểu diễn dưới dạng JSON
{
  "itemId": string,
  "title": string,
  "description": string,

  // Union field kind can be only one of the following:
  "questionItem": {
    object (QuestionItem)
  },
  "questionGroupItem": {
    object (QuestionGroupItem)
  },
  "pageBreakItem": {
    object (PageBreakItem)
  },
  "textItem": {
    object (TextItem)
  },
  "imageItem": {
    object (ImageItem)
  },
  "videoItem": {
    object (VideoItem)
  }
  // End of list of possible types for union field kind.
}
Các trường
itemId

string

Mã mặt hàng.

Khi tạo, bạn có thể cung cấp thông tin này nhưng không được sử dụng giấy tờ tùy thân trong biểu mẫu. Nếu không được cung cấp, ID mới sẽ được chỉ định.

title

string

Tiêu đề của mặt hàng.

description

string

Mô tả mặt hàng.

Trường nhóm kind. Bắt buộc. Đây là loại mục. kind chỉ có thể là một trong các loại sau đây:
questionItem

object (QuestionItem)

Đặt câu hỏi cho người dùng.

questionGroupItem

object (QuestionGroupItem)

Đặt một hoặc nhiều câu hỏi cho người dùng bằng một lời nhắc chính.

pageBreakItem

object (PageBreakItem)

Bắt đầu một trang mới có tiêu đề.

textItem

object (TextItem)

Hiển thị tiêu đề và mô tả trên trang.

imageItem

object (ImageItem)

Hiển thị hình ảnh trên trang.

videoItem

object (VideoItem)

Hiển thị video trên trang.

Mục câu hỏi

Một mục trên biểu mẫu có một câu hỏi.

Biểu diễn dưới dạng JSON
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
Các trường
question

object (Question)

Bắt buộc. Câu hỏi được hiển thị.

image

object (Image)

Hình ảnh hiển thị trong câu hỏi.

Question

Mọi câu hỏi. Loại câu hỏi cụ thể mà kind biết.

Biểu diễn dưới dạng JSON
{
  "questionId": string,
  "required": boolean,
  "grading": {
    object (Grading)
  },

  // Union field kind can be only one of the following:
  "choiceQuestion": {
    object (ChoiceQuestion)
  },
  "textQuestion": {
    object (TextQuestion)
  },
  "scaleQuestion": {
    object (ScaleQuestion)
  },
  "dateQuestion": {
    object (DateQuestion)
  },
  "timeQuestion": {
    object (TimeQuestion)
  },
  "fileUploadQuestion": {
    object (FileUploadQuestion)
  },
  "rowQuestion": {
    object (RowQuestion)
  }
  // End of list of possible types for union field kind.
}
Các trường
questionId

string

Chỉ đọc. Mã câu hỏi.

Khi tạo, bạn có thể cung cấp thông tin này nhưng không được sử dụng giấy tờ tùy thân trong biểu mẫu. Nếu không được cung cấp, ID mới sẽ được chỉ định.

required

boolean

Liệu câu hỏi có phải được trả lời để người trả lời gửi phản hồi hay không.

grading

object (Grading)

Đang thiết lập chấm điểm cho câu hỏi.

Trường nhóm kind. Bắt buộc. Loại câu hỏi được cung cấp cho người trả lời. kind chỉ có thể là một trong những loại sau đây:
choiceQuestion

object (ChoiceQuestion)

Người trả lời có thể chọn từ một tập hợp các tùy chọn được xác định trước.

textQuestion

object (TextQuestion)

Người trả lời có thể nhập câu trả lời bằng văn bản miễn phí.

scaleQuestion

object (ScaleQuestion)

Người trả lời có thể chọn một số trong một dải ô.

dateQuestion

object (DateQuestion)

Người trả lời có thể nhập ngày.

timeQuestion

object (TimeQuestion)

Người trả lời có thể nhập thời gian.

fileUploadQuestion

object (FileUploadQuestion)

Người trả lời có thể tải một hoặc nhiều tệp lên.

rowQuestion

object (RowQuestion)

Một hàng của một QuestionGroupItem.

Câu hỏi lựa chọn

Câu hỏi về radio/hộp kiểm/thả xuống.

Biểu diễn dưới dạng JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
Các trường
type

enum (ChoiceType)

Bắt buộc. Loại câu hỏi lựa chọn.

options[]

object (Option)

Bắt buộc. Danh sách các lựa chọn mà người trả lời phải chọn.

shuffle

boolean

Liệu các tùy chọn có được hiển thị theo thứ tự ngẫu nhiên hay không cho các trường hợp khác nhau của bài kiểm tra. Điều này thường được sử dụng để ngăn chặn những người được hỏi có khả năng nhìn vào màn hình của người trả lời khác gian lận hoặc để giải quyết sự thiên vị trong một cuộc khảo sát có thể được đưa ra bằng cách luôn đặt cùng một tùy chọn đầu tiên hoặc cuối cùng.

Loại lựa chọn

Loại lựa chọn.

Enum
CHOICE_TYPE_UNSPECIFIED Giá trị mặc định. Không sử dụng.
RADIO Nút radio: Tất cả lựa chọn được hiển thị cho người dùng, nhưng họ chỉ có thể chọn một trong số chúng.
CHECKBOX Hộp đánh dấu: Tất cả các lựa chọn đều hiển thị cho người dùng và họ có thể chọn số lượng bất kỳ.
DROP_DOWN Trình đơn thả xuống: Lựa chọn chỉ hiển thị cho người dùng theo yêu cầu, nếu không thì chỉ hiển thị lựa chọn hiện tại. Bạn chỉ có thể chọn một tùy chọn.

Lựa chọn

Tùy chọn cho câu hỏi Lựa chọn.

Biểu diễn dưới dạng JSON
{
  "value": string,
  "image": {
    object (Image)
  },
  "isOther": boolean,

  // Union field go_to_section can be only one of the following:
  "goToAction": enum (GoToAction),
  "goToSectionId": string
  // End of list of possible types for union field go_to_section.
}
Các trường
value

string

Bắt buộc. Lựa chọn được trình bày cho người dùng.

image

object (Image)

Hiển thị hình ảnh dưới dạng tùy chọn.

isOther

boolean

Liệu tùy chọn có phải là "khác" hay không. Hiện chỉ áp dụng cho các loại lựa chọn RADIOCHECKBOX, nhưng không được phép trong QuestionGroupItem.

Trường nhóm go_to_section. Phần nào sẽ được chuyển đến nếu tùy chọn này được chọn. Hiện chỉ áp dụng cho loại lựa chọn RADIOSELECT, nhưng không được phép trong QuestionGroupItem. go_to_section chỉ có thể là một trong những loại sau đây:
goToAction

enum (GoToAction)

Loại điều hướng mục.

goToSectionId

string

Mã mục của tiêu đề mục cần chuyển đến.

Chuyển đến Hành động

Hằng số đối với điều hướng mục.

Enum
GO_TO_ACTION_UNSPECIFIED Giá trị mặc định. Không sử dụng.
NEXT_SECTION Chuyển tới phần tiếp theo.
RESTART_FORM Quay lại đầu biểu mẫu.
SUBMIT_FORM Gửi biểu mẫu ngay lập tức.

Hình ảnh

Dữ liệu đại diện cho một hình ảnh.

Biểu diễn dưới dạng JSON
{
  "contentUri": string,
  "altText": string,
  "properties": {
    object (MediaProperties)
  },

  // Union field image_source can be only one of the following:
  "sourceUri": string
  // End of list of possible types for union field image_source.
}
Các trường
contentUri

string

Chỉ đầu ra. URI mà từ đó bạn có thể tải xuống hình ảnh; URL này chỉ hợp lệ trong một thời gian giới hạn.

altText

string

Mô tả hình ảnh được hiển thị khi di chuột và trình đọc màn hình đọc.

properties

object (MediaProperties)

Thuộc tính của hình ảnh.

Trường nhóm image_source. Loại nguồn hình ảnh. Phải đặt chính xác một trường nguồn hình ảnh khi tạo hình ảnh mới. image_source chỉ có thể là một trong những loại sau đây:
sourceUri

string

Chỉ nhập. URI nguồn là URI dùng để chèn hình ảnh. URI nguồn có thể trống khi tìm nạp.

Thuộc tính phương tiện

Thuộc tính của phương tiện.

Biểu diễn dưới dạng JSON
{
  "alignment": enum (Alignment),
  "width": integer
}
Các trường
alignment

enum (Alignment)

Vị trí của nội dung nghe nhìn.

width

integer

Chiều rộng của phương tiện tính bằng pixel. Khi nội dung nghe nhìn hiển thị, nội dung nghe nhìn sẽ được chia tỷ lệ nhỏ hơn giá trị này hoặc chiều rộng của biểu mẫu hiển thị. Tỷ lệ khung hình gốc của phương tiện được giữ nguyên. Nếu không xác định chiều rộng khi thêm nội dung nghe nhìn vào biểu mẫu, thì chiều rộng sẽ được đặt thành chiều rộng của nguồn nội dung. Chiều rộng phải từ 0 đến 740. Bạn chỉ được phép đặt chiều rộng thành 0 hoặc không xác định khi cập nhật nguồn nội dung nghe nhìn.

Căn chỉnh

Căn chỉnh trên trang.

Enum
ALIGNMENT_UNSPECIFIED Giá trị mặc định. Không sử dụng.
LEFT Căn trái.
RIGHT Căn phải.
CENTER Giữa.

Câu hỏi về văn bản

Một câu hỏi dạng văn bản.

Biểu diễn dưới dạng JSON
{
  "paragraph": boolean
}
Các trường
paragraph

boolean

Cho dù câu hỏi có phải là câu hỏi về đoạn văn hay không. Nếu không, câu hỏi là một câu hỏi văn bản ngắn.

Câu hỏi về quy mô

Một câu hỏi về thang điểm. Người dùng có một loạt các giá trị số để chọn.

Biểu diễn dưới dạng JSON
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
Các trường
low

integer

Bắt buộc. Giá trị thấp nhất có thể có của thang đo.

high

integer

Bắt buộc. Giá trị cao nhất có thể của thang đo.

lowLabel

string

Nhãn để hiển thị mô tả điểm thấp nhất trên thang.

highLabel

string

Nhãn để hiển thị mô tả điểm cao nhất trên thang.

Câu hỏi về ngày

Một câu hỏi về ngày. Câu hỏi về ngày được đặt mặc định là chỉ tháng + ngày.

Biểu diễn dưới dạng JSON
{
  "includeTime": boolean,
  "includeYear": boolean
}
Các trường
includeTime

boolean

Liệu có đưa thời gian vào câu hỏi hay không.

includeYear

boolean

Có bao gồm năm trong câu hỏi hay không.

Câu hỏi về thời gian

Một câu hỏi về thời gian.

Biểu diễn dưới dạng JSON
{
  "duration": boolean
}
Các trường
duration

boolean

true nếu câu hỏi về thời gian đã trôi qua. Nếu không, đó là khoảng thời gian trong ngày.

Tệp tải lên câu hỏi

Một câu hỏi về việc tải tệp lên. API hiện không hỗ trợ tạo câu hỏi tải tệp lên.

Biểu diễn dưới dạng JSON
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
Các trường
folderId

string

Bắt buộc. Mã của thư mục Drive nơi lưu trữ các tệp đã tải lên.

types[]

enum (FileType)

Các loại tệp được câu hỏi này chấp nhận.

maxFiles

integer

Số lượng tệp tối đa có thể tải lên cho câu hỏi này trong một câu trả lời.

maxFileSize

string (int64 format)

Số byte tối đa được phép cho bất kỳ tệp đơn lẻ nào được tải lên câu hỏi này.

Loại tệp

Các loại tệp có thể tải lên câu hỏi tải tệp lên.

Enum
FILE_TYPE_UNSPECIFIED Giá trị mặc định. Không sử dụng.
ANY Không có hạn chế về loại.
DOCUMENT Tài liệu Google Documents.
PRESENTATION Bản trình bày trên Google Trang trình bày.
SPREADSHEET Bảng tính Google Trang tính.
DRAWING Bản vẽ.
PDF PDF.
IMAGE Hình ảnh.
VIDEO Video.
AUDIO Một tệp âm thanh.

Câu hỏi về hàng

Cấu hình của một câu hỏi thuộc nhóm câu hỏi.

Biểu diễn dưới dạng JSON
{
  "title": string
}
Các trường
title

string

Bắt buộc. Tiêu đề cho một hàng trong QuestionGroupItem.

Chấm điểm

Chấm điểm cho một câu hỏi

Biểu diễn dưới dạng JSON
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
Các trường
pointValue

integer

Bắt buộc. Số điểm tối đa mà người trả lời có thể tự động nhận được cho một câu trả lời đúng. Giá trị này không được là giá trị âm.

correctAnswers

object (CorrectAnswers)

Bắt buộc. Đáp án cho câu hỏi. Câu trả lời được tự động chấm điểm dựa trên trường này.

whenRight

object (Feedback)

Phản hồi được hiển thị cho phản hồi chính xác. Bạn chỉ có thể đặt phản hồi này cho những câu hỏi trắc nghiệm có câu trả lời chính xác.

whenWrong

object (Feedback)

Phản hồi được hiển thị cho phản hồi không chính xác. Bạn chỉ có thể đặt phản hồi này cho những câu hỏi trắc nghiệm có câu trả lời chính xác.

generalFeedback

object (Feedback)

Phản hồi được hiển thị cho tất cả câu trả lời. Tính năng này thường dùng cho các câu hỏi trả lời ngắn khi chủ sở hữu bài kiểm tra muốn nhanh chóng đưa ra câu trả lời cho người trả lời để biết họ đã trả lời đúng câu hỏi trước khi có cơ hội chấm điểm chính thức hay không. Không thể đặt phản hồi chung cho các câu hỏi trắc nghiệm được tự động chấm điểm.

Câu trả lời đúng

Đáp án cho một câu hỏi.

Biểu diễn dưới dạng JSON
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
Các trường
answers[]

object (CorrectAnswer)

Danh sách các câu trả lời đúng. Câu trả lời cho bài kiểm tra có thể được tự động chấm điểm dựa trên những câu trả lời này. Đối với các câu hỏi có một giá trị, câu trả lời được đánh dấu là chính xác nếu câu trả lời đó khớp với bất kỳ giá trị nào trong danh sách này (nói cách khác, có thể có nhiều câu trả lời đúng). Đối với các câu hỏi có nhiều giá trị (CHECKBOX), câu trả lời được đánh dấu là chính xác nếu câu trả lời chứa chính xác các giá trị trong danh sách này.

Trả lời đúng

Một câu trả lời đúng duy nhất cho một câu hỏi. Đối với câu hỏi có nhiều giá trị (CHECKBOX), có thể cần vài CorrectAnswer để thể hiện một tùy chọn phản hồi đúng.

Biểu diễn dưới dạng JSON
{
  "value": string
}
Các trường
value

string

Bắt buộc. Giá trị câu trả lời chính xác. Hãy xem tài liệu về TextAnswer.value để biết thông tin chi tiết về cách định dạng các loại giá trị.

Mục nhóm câu hỏi

Xác định câu hỏi bao gồm nhiều câu hỏi được nhóm lại với nhau.

Biểu diễn dưới dạng JSON
{
  "questions": [
    {
      object (Question)
    }
  ],
  "image": {
    object (Image)
  },

  // Union field kind can be only one of the following:
  "grid": {
    object (Grid)
  }
  // End of list of possible types for union field kind.
}
Các trường
questions[]

object (Question)

Bắt buộc. Danh sách các câu hỏi thuộc nhóm câu hỏi này. Câu hỏi chỉ được thuộc một nhóm. kind của nhóm có thể ảnh hưởng đến những loại câu hỏi được cho phép.

image

object (Image)

Hình ảnh được hiển thị trong nhóm câu hỏi phía trên các câu hỏi cụ thể.

Trường nhóm kind. Bắt buộc. Loại nhóm câu hỏi, xác định loại câu hỏi nào được phép và cách chúng được hiển thị. kind chỉ có thể là một trong những loại sau đây:
grid

object (Grid)

Nhóm câu hỏi là một lưới gồm các hàng câu hỏi trắc nghiệm có cùng lựa chọn. Khi bạn đặt grid, tất cả các câu hỏi trong nhóm phải thuộc loại row.

Lưới

Một lưới gồm các lựa chọn (đài hoặc hộp kiểm) với mỗi hàng chứa một câu hỏi riêng. Mỗi hàng có cùng lựa chọn, được hiển thị dưới dạng cột.

Biểu diễn dưới dạng JSON
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
Các trường
columns

object (ChoiceQuestion)

Bắt buộc. Các lựa chọn được chia sẻ theo từng câu hỏi trong lưới. Nói cách khác là giá trị của các cột. Chỉ cho phép CHECK_BOXRADIO lựa chọn.

shuffleQuestions

boolean

Nếu true, các câu hỏi sẽ được sắp xếp ngẫu nhiên. Nói cách khác, các hàng sẽ xuất hiện theo thứ tự khác nhau cho mỗi người trả lời.

Trang ngắt mục

Ngắt trang. Tiêu đề và mô tả của mục này được hiển thị ở đầu trang mới.

Mục văn bản

Một mục văn bản.

Mục hình ảnh

Một mục chứa hình ảnh.

Biểu diễn dưới dạng JSON
{
  "image": {
    object (Image)
  }
}
Các trường
image

object (Image)

Bắt buộc. Hình ảnh hiển thị trong mục.

Mục video

Một mục chứa video.

Biểu diễn dưới dạng JSON
{
  "video": {
    object (Video)
  },
  "caption": string
}
Các trường
video

object (Video)

Bắt buộc. Video hiển thị trong mục.

caption

string

Văn bản hiển thị bên dưới video.

Video

Dữ liệu đại diện cho video.

Biểu diễn dưới dạng JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
Các trường
youtubeUri

string

Bắt buộc. URI YouTube.

properties

object (MediaProperties)

Thuộc tính của video.

Phương thức

batchUpdate

Thay đổi biểu mẫu bằng một đợt cập nhật.

create

Tạo biểu mẫu mới bằng cách sử dụng tiêu đề được cung cấp trong thông báo biểu mẫu được cung cấp trong yêu cầu.

get

Nhận biểu mẫu.