REST Resource: forms

資源:表單

Google 表單文件。使用者也可以在雲端硬碟中建立表單,並透過 Drive API 刪除表單或變更表單存取權保護措施。

JSON 表示法
{
  "formId": string,
  "info": {
    object (Info)
  },
  "settings": {
    object (FormSettings)
  },
  "items": [
    {
      object (Item)
    }
  ],
  "revisionId": string,
  "responderUri": string,
  "linkedSheetId": string
}
欄位
formId

string

僅供輸出。表單 ID。

info

object (Info)

必要欄位。表單標題和說明。

settings

object (FormSettings)

表單設定。這必須以 UpdateSettingsRequest 更新;在 forms.createUpdateFormInfoRequest 期間,系統會忽略此標記。

items[]

object (Item)

必要欄位。表單項目清單,包括區段標題、問題、嵌入媒體等。

revisionId

string

僅供輸出。表單的修訂版本 ID。用於更新要求中的 WriteControl,以識別變更依據的修訂版本。

修訂版本 ID 的格式可能會隨時間變更,因此應以不透明的方式處理。傳回的修訂版本 ID 不保證在傳回後的 24 小時內有效,而且無法在所有使用者共用。如果呼叫之間的修訂版本 ID 保持不變,則表單並未變更。相反地,已變更 ID (適用於相同表單和使用者) 通常表示表單已更新,但 ID 格式變更等內部因素也可能產生變更 ID。

responderUri

string

僅供輸出。要與作答者共用的表單 URI。在隨即開啟的頁面中,使用者可以選擇提交回覆,但無法編輯問題。

linkedSheetId

string

僅供輸出。連結 Google 試算表的 ID,該試算表會累積這份表單的回應 (如有這類工作表)。

資訊

表單的一般資訊。

JSON 表示法
{
  "title": string,
  "documentTitle": string,
  "description": string
}
欄位
title

string

必要欄位。作答者可看到的表單標題。

documentTitle

string

僅供輸出。在雲端硬碟中顯示的文件標題。如果 Info.title 空白,documentTitle 可能會出現在 Google 表單 UI 中的位置,且作答者能看到。可在建立時設定 documentTitle,但無法透過批次更新要求修改。如要透過程式輔助方式更新 documentTitle,請使用 Google Drive API

description

string

表單說明。

FormSettings

表單設定。

JSON 表示法
{
  "quizSettings": {
    object (QuizSettings)
  }
}
欄位
quizSettings

object (QuizSettings)

與測驗表單和評分相關的設定。

QuizSettings

與測驗表單和評分相關的設定。您必須透過 UpdateSettingsRequest 更新這些項目。

JSON 表示法
{
  "isQuiz": boolean
}
欄位
isQuiz

boolean

這份表單是否為測驗。設為 true 時,系統會根據問題 Grading 來評分。如果設為 False,系統就會刪除所有問題 Grading

項目

表單中的單一項目。kind 定義項目的類型。

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.
}
欄位
itemId

string

項目 ID。

建立時可以提供,但不得用於表單中。如未提供,系統會指派新的 ID。

title

string

商品名稱。

description

string

商品的說明。

聯集欄位 kind。必要欄位。此為項目種類。kind 只能採用下列其中一種設定:
questionItem

object (QuestionItem)

向使用者顯示問題。

questionGroupItem

object (QuestionGroupItem)

透過單一主要提示向使用者顯示一或多個問題。

pageBreakItem

object (PageBreakItem)

建立含有標題的新頁面。

textItem

object (TextItem)

在頁面上顯示標題和說明。

imageItem

object (ImageItem)

在網頁上顯示圖片。

videoItem

object (VideoItem)

在網頁上顯示影片。

QuestionItem

包含單一問題的表單項目。

JSON 表示法
{
  "question": {
    object (Question)
  },
  "image": {
    object (Image)
  }
}
欄位
question

object (Question)

必要欄位。顯示的問題。

image

object (Image)

問題中顯示的圖片。

問題

沒關係。特定類型的問題是以 kind 的已知。

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.
}
欄位
questionId

string

唯讀。問題 ID。

建立時可以提供,但不得用於表單中。如未提供,系統會指派新的 ID。

required

boolean

是否必須回答問題才能提交回應。

grading

object (Grading)

問題的評分設定。

聯集欄位 kind。必要欄位。提供給作答者的問題類型。kind 只能是下列其中一項:
choiceQuestion

object (ChoiceQuestion)

作答者可以選擇一組預先定義的選項。

textQuestion

object (TextQuestion)

作答者可以輸入任意文字的回覆。

scaleQuestion

object (ScaleQuestion)

作答者可以從範圍內選擇一個數字。

dateQuestion

object (DateQuestion)

作答者可以輸入日期。

timeQuestion

object (TimeQuestion)

作答者可以輸入時間。

fileUploadQuestion

object (FileUploadQuestion)

作答者可以上傳一或多個檔案。

rowQuestion

object (RowQuestion)

QuestionGroupItem 的一列。

ChoiceQuestion

圓形按鈕/核取方塊/下拉式選單問題。

JSON 表示法
{
  "type": enum (ChoiceType),
  "options": [
    {
      object (Option)
    }
  ],
  "shuffle": boolean
}
欄位
type

enum (ChoiceType)

必要欄位。選擇題的類型。

options[]

object (Option)

必要欄位。作答者必須從以下選項中選擇。

shuffle

boolean

是否應在測驗的不同例項中隨機顯示選項。這通常有助於防止作答者因為正在查看其他作答者的螢幕而做出作弊行為,或解決問卷調查中不相關的偏誤 (因為一律先將相同選項放在最前面或最後)。

ChoiceType

選擇的類型。

列舉
CHOICE_TYPE_UNSPECIFIED 預設值。未使用。
RADIO 圓形按鈕:向使用者顯示所有選項,但只能挑選一個選項。
CHECKBOX 核取方塊:系統會向使用者顯示所有選項,而且不限數量。
DROP_DOWN 下拉式選單:選擇只會向使用者隨選顯示,否則只會顯示目前的選項。只能選擇一個選項。

選項

選擇題的選項。

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.
}
欄位
value

string

必要欄位。向使用者顯示的選項。

image

object (Image)

以選項顯示圖片。

isOther

boolean

選項是否為「其他」。目前僅適用於 RADIOCHECKBOX 選項類型,但不適用於 QuestionGroupItem

聯集欄位 go_to_section。如果選取這個選項,應前往哪個章節。目前僅適用於 RADIOSELECT 選項類型,但不適用於 QuestionGroupItemgo_to_section 只能採用下列其中一種設定:
goToAction

enum (GoToAction)

區段導覽類型。

goToSectionId

string

要前往的區段標題項目 ID。

GoToAction

區段導覽的常數。

列舉
GO_TO_ACTION_UNSPECIFIED 預設值。未使用。
NEXT_SECTION 前往下一節。
RESTART_FORM 返回表單開頭。
SUBMIT_FORM 立即提交表單。

映像檔

代表圖片的資料。

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.
}
欄位
contentUri

string

僅供輸出。可下載圖片的 URI;此 URI 有時間限制。

altText

string

圖片說明,遊標懸停在圖片上時,螢幕閱讀器會朗讀出來。

properties

object (MediaProperties)

圖片的屬性。

聯集欄位 image_source。圖片來源的類型。建立新圖片時,只能設定一個圖片來源欄位。image_source 只能是下列其中一項:
sourceUri

string

僅限輸入。來源 URI 是用於插入圖片的 URI。擷取時,來源 URI 可以空白。

MediaProperties

媒體的屬性,

JSON 表示法
{
  "alignment": enum (Alignment),
  "width": integer
}
欄位
alignment

enum (Alignment)

媒體的位置。

width

integer

媒體的寬度 (以像素為單位)。顯示媒體時,系統會將其縮放至這個值中較小者或顯示的表單寬度。保留媒體的原始長寬比。將媒體加入表單時如未指定寬度,寬度會設為媒體來源的寬度。寬度必須介於 0 到 740 (含) 之間。只有在更新媒體來源時,才能將寬度設為 0 或未指定。

對齊

在網頁上對齊。

列舉
ALIGNMENT_UNSPECIFIED 預設值。未使用。
LEFT 靠左對齊。
RIGHT 靠右對齊。
CENTER 中央。

TextQuestion

文字型問題。

JSON 表示法
{
  "paragraph": boolean
}
欄位
paragraph

boolean

問題是否為段落問題。如果沒有,問題就會是簡短的文字問題。

ScaleQuestion

量表問題。使用者可以從多個數值中選擇。

JSON 表示法
{
  "low": integer,
  "high": integer,
  "lowLabel": string,
  "highLabel": string
}
欄位
low

integer

必要欄位。體重計的最小值。

high

integer

必要欄位。體重計的可能值。

lowLabel

string

顯示體重計最低點的說明標籤。

highLabel

string

顯示體重計最高點的說明標籤。

DateQuestion

日期問題。根據預設,日期問題會顯示為「月 + 天」。

JSON 表示法
{
  "includeTime": boolean,
  "includeYear": boolean
}
欄位
includeTime

boolean

是否要在問題中加入時間。

includeYear

boolean

是否要在問題中加入年份。

TimeQuestion

時間題。

JSON 表示法
{
  "duration": boolean
}
欄位
duration

boolean

如果問題與經過時間有關,則為 true。否則大約是某個時段。

FileUploadQuestion

檔案上傳問題。這個 API 目前不支援建立檔案上傳問題,

JSON 表示法
{
  "folderId": string,
  "types": [
    enum (FileType)
  ],
  "maxFiles": integer,
  "maxFileSize": string
}
欄位
folderId

string

必要欄位。儲存上傳檔案的雲端硬碟資料夾 ID。

types[]

enum (FileType)

這個問題接受的檔案類型。

maxFiles

integer

這個問題的單次回應可上傳的檔案數量上限。

maxFileSize

string (int64 format)

上傳至這個問題的任何單一檔案大小上限。

FileType

可上傳至檔案上傳問題的檔案類型。

列舉
FILE_TYPE_UNSPECIFIED 預設值。未使用。
ANY 沒有類型限制。
DOCUMENT Google 文件文件。
PRESENTATION Google 簡報檔案。
SPREADSHEET Google 試算表。
DRAWING 繪圖。
PDF PDF。
IMAGE 圖片。
VIDEO 影片。
AUDIO 音訊檔案。

RowQuestion

問題群組中某個問題的設定。

JSON 表示法
{
  "title": string
}
欄位
title

string

必要欄位。QuestionGroupItem 中單一資料列的標題。

成績

單一問題的評分

JSON 表示法
{
  "pointValue": integer,
  "correctAnswers": {
    object (CorrectAnswers)
  },
  "whenRight": {
    object (Feedback)
  },
  "whenWrong": {
    object (Feedback)
  },
  "generalFeedback": {
    object (Feedback)
  }
}
欄位
pointValue

integer

必要欄位。作答者提供正確答案可自動獲得的最高分數。不得為負值。

correctAnswers

object (CorrectAnswers)

必要欄位。問題的答案鍵。系統會根據這個欄位自動評分。

whenRight

object (Feedback)

正確回應會顯示意見回饋。這項意見回饋僅適用於提供正確答案的選擇題。

whenWrong

object (Feedback)

出現錯誤回應的意見回饋。這項意見回饋僅適用於提供正確答案的選擇題。

generalFeedback

object (Feedback)

系統會顯示所有答案的意見回饋。這種簡答題常用於簡答題,在測驗擁有者之前,他們可以快速確認答題是否正確。對於自動評分的選擇題,您無法設定一般意見回饋。

CorrectAnswers

問題的答案鍵。

JSON 表示法
{
  "answers": [
    {
      object (CorrectAnswer)
    }
  ]
}
欄位
answers[]

object (CorrectAnswer)

正確答案清單。系統會根據填答內容自動為測驗回應評分。針對單一值的問題,只要回應與這份清單中的任何值相符,系統就會將其標示為正確 (換言之,問題可能有多個正確答案)。針對多值 (CHECKBOX) 問題,只要回應完全相符,就會標示為正確。

CorrectAnswer

問題的單一正確答案。如果是多值 (CHECKBOX) 的問題,則可能需要多個 CorrectAnswer,以代表單一正確回應選項。

JSON 表示法
{
  "value": string
}
欄位
value

string

必要欄位。正確答案值。如要進一步瞭解各種值類型的格式設定,請參閱 TextAnswer.value 的說明文件。

QuestionGroupItem

定義由多個問題分組的問題。

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.
}
欄位
questions[]

object (Question)

必要欄位。這個問題群組中的問題清單。一個問題只能屬於一個群組。群組的 kind 可能會影響允許的問題類型。

image

object (Image)

問題群組中特定問題上方的圖片。

聯集欄位 kind。必要欄位。問題群組的類型,用來決定允許的問題類型和顯示方式。kind 只能是下列其中一項:
grid

object (Grid)

問題群組是格狀版面配置,當中包含多個選項的選擇題。設定 grid 後,群組中的所有問題都必須屬於 row 種類。

格線

選項格 (圓形按鈕或核取方塊),每列顯示一個問題。每列都有相同的選項,以欄的形式顯示。

JSON 表示法
{
  "columns": {
    object (ChoiceQuestion)
  },
  "shuffleQuestions": boolean
}
欄位
columns

object (ChoiceQuestion)

必要欄位。格狀檢視中每個問題共用的選項。換句話說,資料欄的值。只能使用 CHECK_BOXRADIO 選項。

shuffleQuestions

boolean

如果是 true,問題會隨機排序。換句話說,每個作答者的資料列顯示順序都不一樣。

PageBreakItem

分頁符號。這個項目的標題和說明會顯示在新頁面頂端。

TextItem

文字項目。

ImageItem

包含圖片的項目。

JSON 表示法
{
  "image": {
    object (Image)
  }
}
欄位
image

object (Image)

必要欄位。商品中顯示的圖片。

VideoItem

包含影片的項目。

JSON 表示法
{
  "video": {
    object (Video)
  },
  "caption": string
}
欄位
video

object (Video)

必要欄位。商品中顯示的影片。

caption

string

影片下方顯示的文字。

影片

代表影片的資料。

JSON 表示法
{
  "youtubeUri": string,
  "properties": {
    object (MediaProperties)
  }
}
欄位
youtubeUri

string

必要欄位。YouTube URI。

properties

object (MediaProperties)

影片的屬性,

方法

batchUpdate

大量更新表單。

create

使用要求中提供的表單訊息所提供的標題建立新表單。

get

取得表單。