开发者可以使用 Google Classroom API 与 Google 课堂中的课程作业进行互动。以这种方式使用 API 的应用称为 CourseWork
集成。
此集成路径通常用于创建和评分包含指向 Google 课堂外部资源的链接的作业。与 “Google 课堂分享”按钮相比,它为课程管理提供了更多开发者访问权限。
运作方式
CourseWork
集成的核心功能是使用 Classroom API 创建和管理作业、公告和课程资料。
CourseWork
集成实现的一种常见用户使用流程是,允许教师在您的网站或应用内发现、布置和评定内容:
- 教师用户登录您的网站。
- 教师查找或创建想要与班级分享的内容。教师点击您网站上的某个按钮,将相应内容发送到 Google 课堂。
- 您的应用向
courses.courseWork.create
发出请求。请求的正文中包含一个CourseWork
对象,该对象包含:- 目标课程 ID。
- 作业的标题。
- 作业的文字说明。
- 一个
link
Material
,其中包含教师选择的内容的网址。 - 可选字段,所选内容可获得的分数上限。
- Google 课堂中会显示一个新作业,其中包含链接附件。
该链接是指
create
请求中指定的网址。如需查看示例,请参阅图 1。 - 此外,Google 课堂成绩簿中还会显示一个新列,其中包含相应作业(如果提供了满分)的满分。
- 学生收到作业后,点击
link Material
以在新标签页中打开提供的网址,并查看或完成您网站上的内容。 (可选)提供供学生提交作业的控件。 - (可选)向
courses.courseWork.studentSubmissions.modifyAttachments
发出请求,以向学生提交的作业添加附件,例如 Google 云端硬盘文件或指向学生在您网站上完成的作业的link Material
。 - (可选)向
courses.courseWork.studentSubmissions.patch
发出请求,以设置学生作业的成绩。
图 1. 教师在编辑通过 CourseWork
集成创建的作业时看到的视图。link Material
或者,您也可以调用 courses.announcements.create
或 courses.courseWorkMaterials.create
来创建公告或课程资料,而不是作业。如需详细了解相关的 Classroom API 操作,请参阅创建和管理作业和设置和更新成绩页面。
注意事项
在决定 CourseWork
集成是否适合您的产品需求之前,请注意以下事项。
- 您需要对用户进行授权并提示用户同意。您正在代表用户发出 API 请求。这意味着,您无法在任何 Google 课堂课程中创建作业,只能在经过授权的用户所教的课程中创建作业。
- 您需要提供一种方式,让用户可以选择课程来接收内容。
考虑使用
courses.list
获取用户教授的课程列表,然后允许用户从该列表中选择一门或多门课程。 - 当用户点击“Google 课堂”中的
link Material
时,链接会在新标签页中打开。当网址打开时,您的服务器不会收到来自 Google 课堂的任何信息。 - 教师可以独立于开发者修改或删除课程作业。这意味着开发者的课程知识可能会过时。如果您需要了解课程作业的变更情况,不妨考虑为课程作业变更设置推送通知。
- 教师可以在 Google 课堂界面中创建课程作业,其中包含指向您网站上网址的粘贴链接。以这种方式创建的作业完全归教师所有,因此您无法使用 Classroom API 查看、修改或设置提交成绩。