REST Resource: forms

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

Tài liệu trên Google Biểu mẫu. Biểu mẫu được tạo trong Drive và hoạt động xoá 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 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
}
Các 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ả về biểu mẫu.

settings

object (FormSettings)

Chế độ cài đặt của biểu mẫu. Thuộc tính này phải được cập nhật bằng UpdateSettingsRequest; nó 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, nội dung nghe nhì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 làm cơ sở cho các thay đổi này.

Định dạng của mã sửa đổi có thể thay đổi theo thời gian, vì vậy, bạn cần phải xử lý mã này một cách không rõ ràng. Mã bản sửa đổi được trả về chỉ được đảm bảo 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ần gọi thì biểu mẫu 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, mã nhận dạng đã thay đổi cũng có thể là do các yếu tố nội bộ, chẳng hạn như sự thay đổi về định dạng của mã nhận dạng.

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 thể chỉnh sửa câu hỏi.

linkedSheetId

string

Chỉ có đầu ra. Mã của Trang tính Google được liên kết đang tích luỹ câu trả lời từ Biểu mẫu này (nếu có Trang tính đó).

Thông tin

Thông tin chung của 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 mà người trả lời có thể 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, thì 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ể đặt documentTitle khi tạo nhưng không thể sửa đổi bằng yêu cầu lôUpdate. 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ả của biểu mẫu.

FormSettings

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

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

object (QuizSettings)

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

QuizSettings

Chế độ cài đặt liên quan đến biểu mẫu bài kiểm tra và cách chấm điểm. Các thiết bị 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 có phải 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. Sau 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 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.
}
Các trường
itemId

string

Mã mặt hàng.

Khi tạo biểu mẫu, bạn có thể cung cấp mã này nhưng không được sử dụng mã đó trong biểu mẫu. Nếu không 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 nhóm kind. Bắt buộc. Đây là loại mục. kind chỉ có thể là một trong các mục sau:
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, chỉ với một câu lệnh chính.

pageBreakItem

object (PageBreakItem)

Bắt đầu một 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)
  }
}
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 xuất hiện trong câu hỏi.

Question

Bất kỳ câu hỏi nào. Loại câu hỏi cụ thể này được xác định dựa trên 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.
}
Các trường
questionId

string

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

Khi tạo biểu mẫu, bạn có thể cung cấp mã này nhưng không được sử dụng mã đó trong biểu mẫu. Nếu không 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 gửi câu trả lời hay không.

grading

object (Grading)

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

Trường nhóm kind. Bắt buộc. Loại câu hỏi dành 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ố 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 tự do.

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

ChoiceQuestion

Câu hỏi để chọn nút chọn/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
}
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 phương án mà người trả lời phải chọn.

shuffle

boolean

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

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: Tất cả các lựa chọn sẽ hiển thị cho người dùng và họ chỉ có thể chọn một trong số 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 bất kỳ số lượng lựa chọn nào.
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 phương án.

Lựa chọn

Một tuỳ 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 như được hiển thị với người dùng.

image

object (Image)

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

isOther

boolean

Liệu lựa chọn này 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 cho phép trong QuestionGroupItem.

Trường nhóm go_to_section. Phần nào sẽ được chuyển đến nếu tuỳ 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 cho 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 phần.

goToSectionId

string

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

GoToAction

Các hằng số cho thao tác đ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 đầu 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.
}
Các trường
contentUri

string

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

altText

string

Nội dung mô tả hình ảnh xuất hiện khi di chuột và trình đọc màn hình đọc.

properties

object (MediaProperties)

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

Trường nhóm 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 tìm nạp.

MediaProperties

Thuộc tính của nội dung đ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 nội dung nghe nhìn tính bằng pixel. Khi được hiển thị, nội dung nghe nhìn được điều chỉnh tỷ lệ đến giá trị nhỏ hơn của 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 nội dung nghe nhìn sẽ được giữ nguyên. Nếu chiều rộng không được chỉ định khi nội dung nghe nhìn được thêm 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 xác định khi cập nhật nguồn nội dung nghe nhìn.

Căn chỉnh

Cách 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ựa trên 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, thì câu hỏi sẽ là một câu hỏi dạng văn bản ngắn.

ScaleQuestion

Một câu hỏi về thang điểm. Người dùng có một loạt các giá trị số để lựa 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ể cho thang đo.

high

integer

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

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

Câu hỏi về ngày tháng. 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

Liệu có đưa năm vào 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
}
Các trường
duration

boolean

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

FileUploadQuestion

Câu hỏi về hoạt động tải tệp lên. API này hiện không hỗ trợ tạo câu hỏi liên quan đến việc 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ã thư mục Drive 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ào đượ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 Tài liệu 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 trên Google Trang tính.
DRAWING Một bản vẽ.
PDF Một 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 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à số â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)

Hiện thông tin phản hồi cho những câu trả lời chính xác. Bạn chỉ có thể thiết lập tính năng phản hồi này cho các câu hỏi trắc nghiệm có đáp án chính xác.

whenWrong

object (Feedback)

Hệ thống sẽ hiện thông tin phản hồi cho những câu trả lời không chính xác. Bạn chỉ có thể thiết lập tính năng phản hồi này cho các câu hỏi trắc nghiệm có đáp án chính xác.

generalFeedback

object (Feedback)

Hiển thị phản hồi cho mọi câu trả lời. Tính năng này thường được 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 giúp 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 ý kiến phản hồi chung cho những 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)
    }
  ]
}
Các trường
answers[]

object (CorrectAnswer)

Danh sách câu trả lời đúng. Hệ thống có thể tự động chấm điểm một câu trả lời kiểm tra 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ị, một câu trả lời sẽ đượ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 các câu hỏi có nhiều giá trị (CHECKBOX), một câu trả lời được đánh dấu là chính xác nếu 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 duy nhất cho một câu hỏi. Đối với các câu hỏi có nhiều giá trị (CHECKBOX), bạn có thể cần một vài CorrectAnswer để biểu thị một phương án trả lờ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 đú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.
}
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. Mỗi câu hỏi chỉ được thuộc về một nhóm. kind của nhóm có thể ảnh hưởng đến loại câu hỏi được phép.

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 nhóm kind. Bắt buộc. Loại nhóm câu hỏi, xác định loại câu hỏi được phép và cách hiển thị 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 phương á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 gồm các lựa chọn (đài hoặc hộp kiểm) 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, đượ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ẻ 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. Bạn chỉ được phép sử dụng các lựa chọn CHECK_BOXRADIO.

shuffleQuestions

boolean

Nếu 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 sẽ 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à nội dung mô tả của mặt hàng này xuất hiện ở đầu trang mới.

TextItem

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)
  }
}
Các trường
image

object (Image)

Bắt buộc. Hình ảnh hiển thị 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
}
Các trường
video

object (Video)

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

caption

string

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

Video

Dữ liệu biểu thị một 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 một video.

Phương thức

batchUpdate

Thay đổi biểu mẫu bằng một loạt các nội dung cập nhật.

create

Tạo biểu mẫu mới bằng tiêu đề đã nêu 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.