REST Resource: forms

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

Một tài liệu trên Google Biểu mẫu. Biểu mẫu được tạo trong Drive và bạn có thể xoá biểu mẫu hoặc thay đổi các biện pháp bảo vệ quyền truy cập của biểu mẫu đó thông 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
}
Trường
formId

string

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

info

object (Info)

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

settings

object (FormSettings)

Chế độ cài đặt của biểu mẫu. Bạn phải cập nhật lớp này bằng UpdateSettingsRequest; thì dữ liệu 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ỉ có đầu ra. Mã bản sửa đổi của biểu mẫu. Dùng trong WriteControl trong các yêu cầu cập nhật để xác định bản sửa đổi chứa các thay đổi.

Định dạng của mã bản sửa đổi có thể thay đổi theo thời gian, vì vậy, bạn nên sử dụng định dạng này không rõ ràng. Mã bản sửa đổi được trả về chỉ được đảm bảo là có hiệu lực trong vòng 24 giờ sau khi được trả về và không thể chia sẻ cho nhiều người dùng. Nếu mã sửa đổi không thay đổi giữa các lệnh gọi thì biểu mẫu sẽ không thay đổi. Ngược lại, mã nhận dạng đã 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, giấy tờ tuỳ thân đã thay đổi cũng có thể do các yếu tố nội bộ, chẳng hạn như việc thay đổi định dạng của giấy tờ tuỳ thân.

responderUri

string

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

linkedSheetId

string

Chỉ có đầu ra. Mã nhận dạng của Google Trang tính được liên kết đang tích luỹ câu trả lờ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 của một biểu mẫu.

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

string

Bắt buộc. Tiêu đề của biểu mẫu mà người trả lời nhìn thấy.

documentTitle

string

Chỉ có đầ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 của Google Biểu mẫu và hiển thị với người trả lời. Bạn có thể thiết lập documentTitle khi tạo nhưng không thể sửa đổi bằng yêu cầu BulkUpdate. 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

Nội dung mô tả về biểu mẫu.

FormSettings

Chế độ cài đặt của biểu mẫu.

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

object (QuizSettings)

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

QuizSettings

Các chế độ cài đặt liên quan đến biểu mẫu và cách chấm điểm của bài kiểm tra. Các giá trị này phải được cập nhật bằng UpdateSettingsRequest.

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

boolean

Biểu mẫu này có phải là bài kiểm tra hay không. Nếu đúng, các câu trả lời sẽ được chấm điểm dựa trên câu hỏi Grading. Khi bạn đặt thành false, mọi 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 loại 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.
}
Trường
itemId

string

Mã mặt hàng.

Khi tạo, bạn có thể cung cấp mã này nhưng chưa sử dụng mã nhận dạng đó trong biểu mẫu. Nếu không được cung cấp, hệ thống sẽ chỉ định một mã nhận dạng mới.

title

string

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

description

string

Nội dung mô tả mặt hàng.

Trường kết hợp kind. Bắt buộc. Loại mục này. kind chỉ có thể là một trong những trạng thá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 câu lệnh chính.

pageBreakItem

object (PageBreakItem)

Bắt đầu trang mới bằng tiêu đề.

textItem

object (TextItem)

Hiện tiêu đề và nội dung 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.

QuestionItem

Một mục trong biểu mẫu chứa một câu hỏi duy nhất.

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

object (Question)

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

image

object (Image)

Hình ảnh xuất hiện trong câu hỏi.

Câu hỏi

Bạn có câu hỏi bất kỳ. Loại câu hỏi cụ thể được xác định bằng kind.

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.
}
Trường
questionId

string

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

Khi tạo, bạn có thể cung cấp mã này nhưng chưa sử dụng mã nhận dạng đó trong biểu mẫu. Nếu không được cung cấp, hệ thống sẽ chỉ định một mã nhận dạng mới.

required

boolean

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

grading

object (Grading)

Thiết lập cách chấm điểm cho câu hỏi.

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

object (ChoiceQuestion)

Người trả lời có thể chọn trong số một tập hợp các lựa 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 tuỳ ý.

scaleQuestion

object (ScaleQuestion)

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

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 QuestionGroupItem.

ChoiceQuestion

Một câu hỏi radio/hộp đánh dấu/trình đơn thả xuống.

Biểu diễn dưới dạng JSON
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
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 phương án mà người trả lời phải chọn.

shuffle

boolean

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

ChoiceType

Loại lựa chọn.

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

Phương thức

Một lựa 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.
}
Trường
value

string

Bắt buộc. Lựa chọn như được hiển thị cho người dùng.

image

object (Image)

Hiển thị hình ảnh dưới dạng một lựa chọn.

isOther

boolean

Liệu lựa chọn có phải là "khác". 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 kết hợp go_to_section. Mục cần chuyển đến nếu lựa 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 trạng thá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.

GoToAction

Hằng số để đ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 đến phần tiếp theo.
RESTART_FORM Quay lại phần đầu của biểu mẫu.
SUBMIT_FORM Gửi biểu mẫu ngay lập tức.

Bài đăng 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.
}
Trường
contentUri

string

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

altText

string

Nội dung mô tả hình ảnh hiển thị khi trình đọc màn hình di chuột và đọc.

properties

object (MediaProperties)

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

Trường kết hợp image_source. Loại nguồn hình ảnh. Bạn 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 trạng thá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 được tìm nạp.

MediaProperties

Thuộc tính của nội dung nghe nhìn.

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

enum (Alignment)

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

width

integer

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

TextQuestion

Câu hỏi dạng văn bản.

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

boolean

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

ScaleQuestion

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

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

integer

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

high

integer

Bắt buộc. Giá trị cao nhất có thể cho thang.

lowLabel

string

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

highLabel

string

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

DateQuestion

Một câu hỏi hẹn hò. Theo mặc định, câu hỏi về ngày sẽ chỉ được chọn tháng + ngày.

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

boolean

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

includeYear

boolean

Liệu có đưa năm vào trong câu hỏi hay không.

TimeQuestion

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

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

boolean

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

FileUploadQuestion

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

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

string

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

types[]

enum (FileType)

Những 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 đối với mọi tệp riêng lẻ được tải lên câu hỏi này.

FileType

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 Một tài liệu trên Google Tài liệu.
PRESENTATION Một bản trình bày trên Google Trang trình bày.
SPREADSHEET Một bảng tính Google Trang tính.
DRAWING Một bản vẽ.
PDF Tệp PDF.
IMAGE Một hình ảnh.
VIDEO Một video.
AUDIO Một tệp âm thanh.

RowQuestion

Cấu hình cho một câu hỏi trong nhóm câu hỏi.

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

string

Bắt buộc. Tiêu đề của 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)
  }
}
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à số âm.

correctAnswers

object (CorrectAnswers)

Bắt buộc. Đáp án cho câu hỏi. Các 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 câu trả lờ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 đúng.

whenWrong

object (Feedback)

Thông tin phản hồi xuất hiện đối với những câu trả lờ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 đúng.

generalFeedback

object (Feedback)

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

CorrectAnswers

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

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

object (CorrectAnswer)

Danh sách các câu trả lời đúng. Câu trả lời của bài kiểm tra có thể được tự động chấm điểm dựa trên các câu trả lời này. Đối với các câu hỏi một giá trị, câu trả lời được đánh dấu là chính xác nếu 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 những câu hỏi có nhiều giá trị (CHECKBOX), câu trả lời sẽ đượ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.

CorrectAnswer

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

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

string

Bắt buộc. Giá trị cho câu trả lời đúng. 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ị.

QuestionGroupItem

Xác định một 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.
}
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. Một câu hỏi chỉ được thuộc một nhóm. kind của nhóm này có thể ảnh hưởng đến loại câu hỏi được phép đặt.

image

object (Image)

Hình ảnh xuất hiện trong nhóm câu hỏi phía trên các câu hỏi cụ thể.

Trường kết hợp kind. Bắt buộc. Loại nhóm câu hỏi, xác định những loại câu hỏi được cho phép và cách hiển thị các câu hỏi đó. kind chỉ có thể là một trong những trạng thá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âu hỏi trong nhóm phải thuộc loại row.

Lưới

Một lưới lựa chọn (nút chọn hoặc hộp đánh dấu) với mỗi hàng tạo thành một câu hỏi riêng. Mỗi hàng có các lựa chọn giống nhau và được hiển thị dưới dạng cột.

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

object (ChoiceQuestion)

Bắt buộc. Các phương án được chia sẻ cho 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ỉ được phép lựa chọn CHECK_BOXRADIO.

shuffleQuestions

boolean

Nếu giá trị là 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 xuất hiện theo thứ tự khác nhau đối với mỗi người trả lời.

PageBreakItem

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

TextItem

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

ImageItem

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

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

object (Image)

Bắt buộc. Hình ảnh xuất hiện trong mục.

VideoItem

Một mục có chứa video.

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

object (Video)

Bắt buộc. Video xuất hiện trong mục.

caption

string

Văn bản xuất hiện bên dưới video.

Video

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

Biểu diễn dưới dạng JSON
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
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 loạt nội dung 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.