简介

Google 课堂中的作业称为 CourseWork 内容,可在任何 Google 课堂课程的“课业”页面中找到。虽然课业内容有四种类型,但本指南仅重点介绍“作业”类型。如果您想了解如何管理其他课业类型,请阅读我们的管理课业指南

Google 课堂有两种与作业工作流程集成的方式:课堂分享按钮Classroom API。借助“分享”按钮,用户可以通过 Google 课堂弹出式对话框以任何信息流项目的形式分享内容,而 Classroom API 支持端到端作业工作流程,包括创建作业、创建和管理学生提交的作业以及成绩回传。

下面我们将介绍这两款开发者产品之间的主要区别。 更具体地说,我们将介绍实现方面的差异和作业生命周期的每个阶段:作业创建、学生提交以及评分/反馈。

了解分配生命周期

在介绍分享按钮和 CourseWork API 之间的区别之前,我们首先要定义 Google 课堂环境中作业的生命周期。这有助于您了解教师和学生在 Google 课堂中与作业互动的情况。

与 Google 课堂作业集成时,请牢记以下五个主要步骤:

  1. 已创建分配。
  2. 作业已与学生共享。
  3. 学生完成作业。
  4. 学生将作业提交给教师。
  5. 教师会批改作业并为作业评分。

与 Google 课堂作业集成,教师和学生可以在 Google 课堂和第三方应用之间无缝切换。用户可以依靠您的应用来管理这些详细信息,而无需管理学生提交的作业或学生提交的详细信息。

显示分配操作的 5 个步骤的示意图

实施步骤

分享按钮与 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 课堂 API REST API 的一部分,需要通过 Google Cloud 控制台设置和启用 API 密钥,并遵循与 API 集成的最佳实践。如果您的平台已在利用其他 Classroom API 功能(例如名单名单),则您无需担心此问题。

创建和共享作业

虽然分享按钮和 CourseWork API 都可以实现作业流程的前两个步骤(即创建和与学生分享作业),但在选择解决方案之前,您应该考虑一些重要区别。

这两种解决方案的核心都能够将链接或文件作为作业发布到 Google 课堂。对于被迫在 Google 课堂和第三方应用之间执行复制和粘贴工作流程的教师而言,这是一个功能强大的工作流程。虽然这两种解决方案都支持将内容作为作业发布,但您应该考虑应用是否需要灵活地以其他课业类型发布此类内容,甚至是发布通知。

这两种课程均可提供除测验作业以外的所有 Google 课堂帖子类型。下面总结了所有帖子类型以及它们是否公开。

帖子类型 “分享”按钮 CourseWork API
分配 X X
测验作业
问题:简答 X X
问题:选择题 X X
材质 X X
通知 X X

对于这两种解决方案,您的应用也可以通过编程方式指定标题和说明等功能。虽然集成分享按钮可让用户在弹出式对话框中设置截止日期、主题、个性化模式和点数等字段,但第三方应用无法以编程方式设置这些字段。另一方面,API 会公开所有这些字段,以供读取和写入。

修改分配关系

与 Classroom API 集成的好处之一是,用户无需手动同步更改作业详情即可。分享按钮不具备以程序化方式更新或删除作业的功能,因此所需的任何修改都必须由用户通过 Google 课堂界面完成。

借助 CourseWork API,您可以修改和删除应用创建的作业,还可以检索发布到用户课程的任何作业的详细信息。不过,请务必注意,并非由同一个开发者控制台创建的 CourseWork 项无法由该开发者控制台进行修改。此权限模式会扩展到作业生命周期的其余部分(例如管理学生提交的作业和成绩),但无法访问这些 CourseWork 内容。

自动同步分配

借助 Pub/Sub 推送通知,您的应用可以订阅在 CourseWork 内容以及与其关联的学生提交内容发生更改时触发事件的通知。这样,您的应用无需持续检查即可了解 Google 课堂中的内容是否已更新,从而轻松同步作业。

完成和提交作业

每份作业都与 N 份学生提交的作业相关联,其中 N 是该作业分配给的学生人数。换句话说,每个作业都有与每个学生关联的学生提交内容,您可以使用唯一 ID 访问该内容。系统会自动创建学生提交的作业,您的应用可以通过学生提交的作业的 GET 和 LIST 端点检索这些作业。

分享按钮和 CourseWork API 都支持在学生提交的作业中添加链接或文件。借助共享按钮,您可以使用与教师作业创建对话框类似的工作流程,并通过 studentSubmissions.modifyAttachments 端点使用 CourseWork API。不过,由于之前详细介绍的 API 权限限制,此功能仅适用于应用创建的 CourseWork 内容。这一限制不适用于分享按钮 - 学生可以将自己的作业添加到他们从 Google 课堂中选择的任何作业中。

结束学生工作流程

虽然 CourseWork 权限限制不适用于不支持创建作业的平台,但一个好处是,第三方平台可以防止学生将作业提交到错误的作业以及忘记上交作业,因为只有分享按钮会限制学生上交作业的能力。

批改作业并为其评分

作业生命周期的最后一部分将交回给教师。学生成功上交作业后,教师现在可以以最合理的方式批改作业。如果文件存储在云端硬盘中,他们可以直接在 Google 课堂评分器中进行查看。但是,您无法在 Google 课堂评分器中访问第三方应用。这意味着,教师在查看作业和为作业评分时必须浏览多个标签页。

目前,分享按钮不提供用于评分和发回作业的解决方案。虽然该 API 目前尚未提供学生提交评论等功能,但可以通过 studentSubmissions.patchstudentSubmissions.return 端点对成绩进行评分并将其发回给学生。只能为 CourseWork 流内容(作业和题目类型)指定成绩。这些作业仅提供数字形式,可以作为初始成绩或最终成绩进行布置。

差异摘要

为总结前面部分中回顾的所有内容,下表并排比较了上述四个类别的分享按钮和 CourseWork API:实现、创建和共享作业、完成和提交作业,以及检查作业并为其评分。

“分享”按钮 CourseWork API
实施步骤 只有几行 JavaScript 代码,可轻松快速地实现代码 需要设置 API 密钥、在管理控制台中启用 API,并进一步监控
创建和共享作业
  • 将教师重定向至“课堂”分享按钮分享对话框
  • 用户可以发布除一种信息流项目以外的所有其他项目
  • 可以指定的字段较少
  • 只能创建作业,但无法提取或修改作业数据
  • 无需分享按钮的对话框
  • 大多数 Google 课堂作业字段都可以指定
  • 能够修改应用创建的课程作业
  • 允许您的应用从 Google 课堂中提取所有作业数据
完成并提交作业
  • 将学生重定向至“课堂”分享按钮分享对话框
  • 允许学生将提交的作业附加到任何 Google 课堂作业中
  • 一种支持提交附件,但无法提取或修改提交数据
  • 不允许学生上交作业
  • 无需分享按钮的对话框
  • 仅允许学生将他们提交的内容附加到应用创建的作业中
  • 允许您的应用修改由您的应用创建的学生提交的作业
  • 允许学生上交作业
查看作业并为其评分 不支持指定或返回成绩
  • 允许您的应用代表教师从 Google 课堂中拉取所有学生提交内容的数据
  • 提供为学生评分(草稿或最终成绩)的功能
  • 提供修改学生成绩的功能
  • 允许向学生发回成绩