开发者可以使用 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
来创建通知或课程资料,而不是创建作业。如需详细了解相关 Google 课堂 API 操作,请参阅创建和管理课程和设置和更新成绩页面。
注意事项
在确定 CourseWork
集成是否适合您的产品需求之前,请牢记以下几点。
- 您需要授权用户并提示用户同意。您代表用户发出 API 请求。例如,这意味着您无法在任何 Google 课堂课程中创建作业;您只能在获得授权的用户授课的课程中创建作业。
- 您需要提供一种方式,让用户选择课程以接收内容。考虑使用
courses.list
获取用户教授的课程列表,然后允许用户从列表中选择一个或多个课程。 - 当用户在 Google 课堂中点击
link Material
时,链接会在新标签页中打开。打开该网址时,您的服务器不会收到 Google 课堂发送的任何信息。 - 教师可以独立于开发者修改或删除课程作业。这意味着开发者对课程作业的了解可能会过时。如果您需要了解课程的变化,不妨考虑为课程变化设置推送通知。
- 教师可以在 Google 课堂界面中创建作业,并在其中粘贴指向您网站上网址的链接。以这种方式创建的作业完全归教师所有,因此您将无法使用 Classroom API 查看、修改或设置提交作业的成绩。