Google Forms API 是一个 RESTful 接口,可让您创建和修改表单和测验、检索表单回复和测验成绩、设置包含自动反馈的测验答案表,以及接收推送通知。此 API 的最常见用途包括以下任务:
- 创建表单或测验
- 更新表单或测验
- 检索表单或测验中的回复
- 读取表单内容和元数据
- 设置和接收推送通知
下面列出了 Google 表单 API 中使用的常用术语:
- 形式
在云端硬盘中创建并存储的 Google 表单文档。每个表单都由
Form
资源表示,并且具有唯一的formId
值,其中包含字母、数字、连字符或下划线。您可以在 Google 表单网址中找到表单 ID:https://docs.google.com/forms/d/FORM_ID/edit
- 测验
一种特定类型的 Google 表单文档,可根据答案表对表单回复进行评分。您只能使用
batchUpdate()
方法将现有表单的isQuiz
设置更新为true
,才能创建测验。- 资源项
表单中的单个元素,由 Item 资源表示。
Item
是一个重复元素,可以包含部分、题目组、题目、文本、图片或视频。- 问题
表单上的单个问题,由
Question
资源表示。- 题目组
一组具有相同可能答案的问题(例如,评分网格,评分范围为 1 到 5)。由
QuestionGroupItem
资源表示。- 对应的节
部分是一种将表单拆分为多个页面并添加条件逻辑(例如,根据用户的回答方式仅显示特定问题)的方法。部分对应于
PageBreakItem
资源。- 答案
最终用户对问题的回答,由
Answer
资源表示。包括成绩信息(如果有)、元数据和答案内容。- 答案
最终用户提交表单,由
FormResponse
资源表示。- 手表
此触发器用于跟踪表单架构变更(例如对题目的修改)或表单回复提交内容的变更,并在发生变更时发送推送通知。由
Watch
资源表示。
表单结构
在管理表单和测验时,由于许多表单对象可以通过多种方式嵌套在彼此内部,因此了解如何指定不同的字段可能会很复杂。如需了解表单的视觉表示如何映射到字段,我们建议您使用该界面创建几个您的应用可能会生成的表单示例。然后,使用 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 开发者。
- 如需了解如何配置和运行简单的 Google 表单 API 应用,请参阅快速入门概览。