Google 课堂中的作业称为“课业”项,可在任何给定 Google 课堂的“课业”页面中找到。虽然有四种课业内容类型,但本指南仅重点介绍“作业”类型。如需了解如何管理其他类型的课业,请参阅我们的“管理课业”指南。
Google 课堂有两种与作业工作流程集成的方式:Google 课堂分享按钮和 Google 课堂 API。借助分享按钮,用户可以通过 Google 课堂弹出式对话框以任何信息流项的形式分享内容,而 Google 课堂 API 则支持端到端作业工作流,包括创建作业、创建和管理学生提交内容,以及成绩回传。
下面,我们将介绍这两项开发者产品之间的主要区别。具体而言,我们将探讨实现方式的差异,以及作业生命周期的各个阶段:作业创建、学生提交和评分/反馈。
了解作业生命周期
在讨论分享按钮和 CourseWork API 之间的区别之前,我们先来定义一下 Google 课堂中作业的生命周期。这有助于您了解教师和学生如何在 Google 课堂中与作业互动。
在与 Google 课堂作业集成时,请注意以下五个主要步骤:
- 已创建作业。
- 作业会与学生共享。
- 学生完成作业。
- 学生向教师提交作业。
- 教师查看和评分作业。
通过与 Google 课堂作业集成,教师和学生可以在 Google 课堂和第三方应用之间无缝切换。用户可以依赖您的应用来管理作业或学生提交内容的详细信息,而无需自行管理。
实现
分享按钮与 CourseWork API 之间的第一个区别是实现。从开发者的角度来看,分享按钮是一种更简单的内容分享到 Google 课堂的方法,因为只需添加必要的 JavaScript 资源和分享按钮标记即可。最简单的形式是,您的 Google 课堂分享按钮集成可能如下代码段所示:
<script src="https://apis.google.com/js/platform.js" async defer></script>
<g:sharetoclassroom url="http://url-to-share" size="32"></g:sharetoclassroom>
另一方面,CourseWork API 是 Google Classroom API REST API 的一部分,需要使用 Google Cloud 控制台设置和启用 API 密钥,并遵循与 API 集成的最佳实践。如果您的平台已在利用其他 Google 课堂 API 功能(例如编制名单),则不必太过担心。
创建和分享作业
虽然分享按钮和 CourseWork API 都可以实现作业工作流的两个步骤(创建作业并与学生分享),但在选择解决方案之前,您应该考虑一些关键差异。
这两种解决方案的核心功能是,您可以将链接或文件作为作业发布到 Google 课堂。这对教师来说是一项强大的工作流程,否则他们就只能在 Google 课堂和第三方应用之间进行复制和粘贴。虽然这两种解决方案都支持将内容作为作业发布,但您应考虑您的应用是否需要灵活地将此类内容发布为其他作业类型,甚至是作为通知发布。
这两种版本都提供所有 Google 课堂帖子类型(知识问答作业除外)。下面简要介绍了所有帖子类型及其是否已公开。
帖子类型 | “分享”按钮 | CourseWork API |
---|---|---|
作业 | X | X |
测验作业 | ||
题目:简答题 | X | X |
题目:单选题 | X | X |
材质 | X | X |
通知 | X | X |
您还可以通过应用以编程方式为这两种解决方案指定功能(例如指定标题和说明)。虽然分享按钮集成允许用户在弹出式对话框中设置截止日期、主题、个性化模式和积分数等字段,但第三方应用无法通过编程方式设置这些字段。另一方面,该 API 会公开所有这些字段,以便进行读取和写入访问。
修改作业
与 Classroom API 集成的好处之一是,用户无需手动同步作业的更改详情。分享按钮缺少以编程方式更新或删除作业的功能,因此用户必须通过 Google 课堂界面进行任何必要的修改。
借助 CourseWork API,您可以修改和删除您的应用创建的作业,还可以检索发布到用户课程的任何作业的详细信息。不过,请务必注意,如果某个课程作业项目不是使用同一开发者控制台创建的,则无法通过该开发者控制台进行修改。此权限模型会延伸到作业生命周期的其余部分,例如,无法对这些课程作业内容访问管理学生提交内容和成绩的权限。
自动同步作业
借助 Pub/Sub 推送通知,您的应用可以订阅在课程作业项及其关联的学生提交内容发生更改时触发事件的通知。这样,您的应用无需不断检查 Google 课堂上的内容是否已更新,从而轻松同步作业。
完成和提交作业
每项作业都与 N
份学生提交的内容相关联,其中 N 是分配了作业的学生数量。换句话说,对于每项作业,每位学生都有一份关联的作业提交内容,可通过唯一 ID 访问。这些学生提交内容会自动创建,您的应用可以使用学生提交内容 GET 和 LIST 端点检索这些内容。
分享按钮和 CourseWork API 都支持向学生提交的作业中添加链接或文件。分享按钮通过与教师作业创建对话框类似的工作流程实现此功能,而 Coursework API 则通过 studentSubmissions.modifyAttachments 端点实现此功能。不过,由于之前详述的 API 权限限制,此功能仅适用于您的应用创建的课程作业项。此限制不适用于“分享”按钮,学生可以将其作业添加到 Google 课堂中选择的任何作业中。
结束学生工作流程
虽然 Coursework 权限限制不适用于不支持作业创建的平台,但其有一个好处:第三方平台可以阻止学生提交错误的作业,并防止学生忘记提交作业,因为只有共享按钮会限制学生提交作业的功能。
查看和评分作业
作业生命周期的最后一部分会返回给教师。学生成功上交作业后,教师现在可以按照最合适的方式查看作业。如果文件存储在云端硬盘中,教师可以直接在 Google 课堂评分器中进行评阅。不过,您无法在 Google 课堂评分器中访问第三方应用。这意味着,教师在查看和评分作业时必须浏览多个标签页。
分享按钮目前不提供用于评分和返回作业的解决方案。虽然目前无法通过 API 使用学生提交内容评论等功能,但您可以通过 studentSubmissions.patch 和 studentSubmissions.return 端点对作业进行评分并将成绩发回给学生。只能为课程作业信息流中的项(作业和题目类型)指定成绩。它们仅以数字形式提供,可以作为草稿成绩或最终成绩分配。
差异摘要
为总结前面部分中介绍的所有内容,下表对上面讨论的四个类别(实现、创建和分享作业、完成和提交作业以及审核和评分作业)的分享按钮和 CourseWork API 进行了并排比较。
“分享”按钮 | CourseWork API | |
---|---|---|
实现 | 只需几行 JavaScript 代码,实现起来简单又快速 | 需要设置 API 密钥、在管理控制台中启用 API,并加强监控 |
创建和共享作业 |
|
|
完成和提交作业 |
|
|
查看和评分作业 | 不支持指定或返回成绩 |
|