Google Forms API 是符合 REST 樣式的介面,可讓您建立及修改表單和測驗、擷取表單回應和測驗成績、透過自動意見回饋設定測驗答案鍵,以及接收推播通知。這個 API 的最常見用途包括下列工作:
- 建立表單或測驗
- 更新表單或測驗
- 從表單或測驗中擷取回應
- 讀取表單內容和中繼資料
- 設定並接收推播通知
下方列出 Forms API 的常用詞彙:
- Form
在雲端硬碟中建立和儲存的 Google 表單文件。每個表單都以
Form
資源表示,且具有專屬的formId
值,其中包含字母、數字、連字號或底線。你可以在 Google 表單網址中找到表單 ID:https://docs.google.com/forms/d/FORM_ID/edit
- 測驗
特定類型的 Google 表單文件,可用來依據答案鍵評分錶單回應。您必須使用
batchUpdate()
方法,將現有表單的isQuiz
設定更新為true
,才能建立測驗。- 項目
表單中的單一元素,以 Item 資源表示。
Item
是重複元素,可包含區段、問題群組、問題、文字、圖片或影片。- 問題
表單中的單一問題,以
Question
資源表示。- 問題群組
一組問題,都有相同的可能答案組合 (例如,從 1 到 5 的評分格線)。由
QuestionGroupItem
資源代表。- Section
區段是將表單分成多個頁面的方法,並新增條件邏輯 (例如僅根據使用者的答案顯示特定問題)。區段會對應至
PageBreakItem
資源。- 接聽
使用者針對問題的答案,以
Answer
資源表示。包括成績資訊 (如有)、中繼資料和答案內容。- 回應
使用者提交的表單,以
FormResponse
資源表示。- 觀看
觸發條件會追蹤表單結構定義變更 (例如修改問題) 或表單回應提交情形的變更,並在變更時傳送推播通知。由
Watch
資源代表。
表單結構
管理表單和測驗時,要瞭解如何指定不同欄位可能並不容易,因為許多表單物件可以透過多種方式相互嵌套。如要查看表單的視覺呈現方式與欄位的對應方式,建議您使用 UI 建立應用程式可能會產生的幾個形式範例。然後使用 forms.get()
方法擷取對應的 JSON,以便進行比較。例如,這個測驗範例與下列 JSON 對應:
{
"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"
}
]
}
}
}
}
]
}
後續步驟
- 如要瞭解如何使用 Google Workspace API 進行開發 (包括處理驗證和授權),請參閱「以 Workspace 開發人員的身分開始使用」。
- 如要瞭解如何設定及執行簡單的 Forms API 應用程式,請參閱快速入門導覽課程總覽。