總覽

Google Forms API 是符合 REST 樣式的介面,可用來建立及修改表單 擷取表單回覆和測驗成績、設定測驗答案鍵 並接收推播通知。最常見的用途 這項 API 包含下列工作:

  • 建立表單或測驗
  • 更新表單或測驗
  • 從表單或測驗擷取回覆
  • 讀取表單內容和中繼資料
  • 設定及接收推播通知

以下是 Forms API 中採用的常見詞彙:

Form

在雲端硬碟中建立並儲存的 Google 表單文件。每份表單都是 由 Form 資源表示 且有專屬的 formId 值,可使用英文字母、數字、連字號或 底線。您可以在 Google 表單網址中找到表單 ID:

https://docs.google.com/forms/d/FORM_ID/edit

測驗

可用來為 比對答案鍵來回應如要建立測驗,您必須使用 batchUpdate() 方法,將現有表單的 isQuiz 設定更新為 true

評分
問題的分數值、答案鍵和意見回饋,在以下情況下會套用: isQuiztrue。代表 Grading 資源。
意見回饋
使用者在測驗中回答的問題時給予的回覆, 由 Feedback 資源。
項目

表單中的單一元素,以 Item 資源。Item是 可包含區段、問題群組、問題 文字、圖片或影片

問題

表單上的單一問題,會以 Question 資源。

問題群組

都具有相同可能答案的一組問題 (適用於 例如 1 到 5 的評分格線)。代表 QuestionGroupItem敬上 資源。

Section

您可以透過區段將表單分成多個頁面, 條件式邏輯 (例如根據 使用者的答案);各節會對應到 PageBreakItem敬上 資源。

答案

使用者回答的問題,以 Answer敬上 資源。包含成績資訊 (如有)、中繼資料和 給予答案的內容

回應

使用者提交的表單,以 FormResponse 資源。

觀看

可追蹤表單結構定義異動 (例如編輯) 的觸發條件 等表單回覆提交,並傳送推播通知 一旦執行變更代表 Watch 資源。

表單結構

管理表單和測驗時,瞭解如何指定不同欄位 由於許多表單物件可以透過巢狀結構嵌入 以多種方式彼此分享查看表單的視覺呈現方式 對應至欄位,建議您使用 UI 建立幾個 可能產生的格式接著,擷取對應的 JSON 使用 forms.get() 方法 方便您進行比較例如: 這個測驗範例對應至以下 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"
              }
            ]
          }
        }
      }
    }
  ]
}

後續步驟