Classroom API 提供了一个 RESTful 接口,供您管理 Google 课堂中的课程和学生名单。此外,开发者和内容所有者可以使用 Google 课堂分享按钮将他们的内容分享到 Google 课堂。
哪些人可以使用该 API ?
Google Workspace 教育版网域管理员可以使用此 API 代表教师以编程方式配置课程,将学生信息系统与 Google 课堂同步,以及基本了解其网域中所授课程的情况。
应用开发者可以使用 Classroom API 将其应用与 Google 课堂集成。这些应用需要使用 OAuth 2.0 来请求从教师处查看课程和学生名单的权限。管理员可以限制其网域中的教师和学生是否可以授权应用访问其 Google 课堂数据。
网站所有者和内容开发者可以使用 Google 课堂分享按钮让学生和教师将内容分享回 Google 课堂。
所有 API 和 Google 课堂分享按钮集成都应遵循 Google 课堂品牌推广指南。
API 概览
Classroom API 由若干实体类型组成,分别与 Google 课堂界面中的类、教师和学生相对应。除了 Google 课堂中的属性之外,其中一些实体还具有该 API 特有的其他属性。主要实体类型包括:
如需详细了解该 API 的资源和方法,请参阅 Classroom API 参考文档。
课程元数据和别名
Courses 表示一个类,例如“M. Smith 的第四期数学运算”以及分配给它的教师、学生名单和元数据。每门课程都由服务器分配的唯一 ID 进行标识。课程资源具体封装了有关课程的所有元数据,例如名称、说明、地点和时间。课程学生名单通过学生、教师和邀请资源及其方法进行管理。
别名是类的替代标识符,可能与课程相关联并用于代替唯一 ID。每个别名都存在于一个命名空间中,该命名空间限制了谁可以创建和查看别名。支持两个命名空间:
- 网域:网域命名空间用于创建所有用户都需要访问但又不特定于任何一个程序的别名。例如,应在网域命名空间中创建课程的备用商品详情(例如 MATH 127 和 COMSCI 127)。网域命名空间中的别名只能由网域管理员创建,但网域中的所有用户都可以看到。
- 开发者项目:开发者项目命名空间用于管理特定于应用的别名。例如,为课程使用替代标识符的应用可以创建别名,将其标识符映射到 Google 课堂课程。在此命名空间中创建的别名与特定的 Google API 控制台相关联。应用的任何用户都可以在命名空间中为该应用的开发者项目创建和查看别名。
如需详细了解如何管理课程元数据和别名,请参阅管理课程。
课程学生名单和用户
学生和教师是用户个人资料与课程之间的特定映射,表示该用户在课程中的角色。指定学生和教师并不是全球性的:您可以将用户指定为一个课程的教师,而将另一个课程指定为学生。“学生”或“教师”字样表示特定课程中特定用户的一组权限。
- 学生
- 学生资源表示以学生身份注册参加特定课程的用户。学生可以查看课程详细信息和该课程的教师。
- 教师
- 教师资源代表教授特定课程的用户。教师可以查看和更改课程详细信息、查看教师和学生,以及管理其他教师和学生。
邀请及其关联方法提供了一种将学生和教师添加到课程的便捷方式。创建邀请后,用户可以选择是否加入课程,而不是通过教师和学生资源直接添加。
UserProfiles 表示映射到用户网域个人资料,由 Directory API 返回的用户的唯一 ID 或电子邮件地址标识。当前用户还可以使用 "me"
简写形式引用自己的 ID。
如需详细了解如何管理学生名单,请参阅管理教师和学生。
课程作业和学生提交
CourseWork 项表示分配给课程中的一组学生的单个任务。它包含说明、截止日期、资料等详细信息,以及创建时间等元数据。这些材料包括标题、缩略图和网址,以及可与相应 API(例如 Google 云端硬盘、YouTube)搭配使用的标识符。
课程作业项描述的是以下一种任务类型:
- 学生通过提交工作表或其他附件来完成的作业。
- 简答题或单选题。
CourseWork 项的学生作业由 StudentSubmission 表示。 其中包含回复和其他元数据(例如状态和给出的成绩)。
StudentSubmission 的内容取决于相应 CourseWork 项的类型:
- 为作业提交的工作表和附件,包括标题、缩略图和网址,以及可与云端硬盘或 YouTube 等相应 API 搭配使用的标识符。
- 对简答题或单选题的回复。
如需详细了解如何管理课程作业和学生提交的作业,请参阅管理课业。
快速入门
如需设置环境并立即开始使用 API,请尝试以下某个快速入门:
试用 Classroom API Explorer
如需尝试对实时数据调用方法,请尝试使用 Classroom API Explorer。您无需编写任何代码即可开始使用,但请注意,使用 API Explorer 执行的操作可以修改现有数据。
开始调用这些方法的一种方法是调用 courses.list()
方法。此方法不需要任何请求参数,您可以从返回的课程列表中检索 id
,以用作其他 API 调用的请求参数。如果您没有任何课程,可以使用 courses.create()
方法创建一个。
您也可以浏览 API 参考文档。