Google Forms API 是 RESTful 介面,可讓您建立及修改表單和測驗、擷取表單回覆和測驗成績、設定測驗答案鍵並自動提供意見回饋,以及接收推播通知。這個 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" } ] } } } } ], "publishSettings" : { "isPublished": true, "isAcceptingResponses": true } } 後續步驟
- 如要瞭解如何使用 Google Workspace API 進行開發,包括處理驗證和授權,請參閱「開始使用 Workspace 開發人員」。
- 如要瞭解如何設定及執行基本的 Forms API 應用程式,請參閱「快速入門總覽」。