常见问题解答

在 Google 课堂中查看、创建和修改课程作业

我可以使用 Classroom API 中的 CourseWork 端点构建哪些内容?

通过新的端点,开发者可以在类中查看和管理工作。具体来说,您可以执行以下所有操作:

  • 查看用户的作业和题目(统称为“CourseWork”)
  • 创建、修改和删除课程作业
  • 将资料(云端硬盘文件、YouTube 视频、链接)附加到课程作业中
  • 更改学生提交作业的状态(例如上交、发回、收回)
  • 设置提交的作业的成绩
  • 在学生提交的作业中附加资料(云端硬盘文件、YouTube 视频、链接)

CourseWork 的一些应用场景示例:

  • 成绩册、学生信息系统或报告系统可以将作业和成绩从 Google 课堂同步到其应用,避免手动传输数据
  • 学习应用可以创建新作业,这些作业会显示在课程信息流中。学生完成作业后,应用可以上交作业、设置成绩、附加学生作业,以及将作业存储在相应的云端硬盘文件夹中。
  • 教师用户可以在您的网站或应用中创建包含插件附件的作业。
  • 学生用户可以上交包含您的插件附件的作业。

我的应用需要哪些权限才能创建或修改分配?

通常,应用只能修改其创建的工作。换句话说,任何分配更改 API 请求都必须使用创建分配时存储的同一 Google Cloud 项目 ID。

Google 课堂插件不受此规则限制。Cloud 项目可以访问或修改具有一个或多个插件附件的任何通知、作业或资料。Cloud 项目还可以上交、收回或发回具有一个或多个插件连接的作业。

API 请求还需要正确的用户范围。教师可以查看作业、创建作业、附加提交的作业的链接,并设置提交作业成绩。学生可以查看作业、附加指向作业记录的链接,以及上交和收回作业。网域管理员可以查看 CourseWork,但没有写入权限。

我的申请可以在作业或提交内容中附加哪些类型的内容?

该 API 支持附加云端硬盘文件、YouTube 视频和链接。尚不支持附加原生 Google 表单。

最终用户知道“课堂”中的作业是我的应用创建的吗?

是的。Google 课堂界面使用创建作业的 Google Cloud 项目的产品名称标识外部创建的作业。用户可以将外部创建的工作报告为不需要的工作,还可以通过撤消用户向应用颁发的所有凭据断开与创建该工作的应用的关联。

Google 课堂分享按钮和其他集成

我已经集成了 Google 课堂分享按钮。我可以修改使用分享按钮创建的作业吗?

目前还不支持。如需修改分配,该请求必须使用创建分配时所用的 Google Cloud 项目。

我可以在 API 中回答问题吗?

目前还不支持。您可以创建和修改问题。以程序化方式回答问题是我们的路线图。

课堂插件

项目配置

我可以将开发期间使用的私有 Google Cloud 项目转换为可在生产环境中使用的公共项目吗?

您无法将私有 Google Cloud 项目转换为公开项目。您需要两个单独的项目,一个用于开发,另一个用于生产。

一个 Google Cloud 项目可以拥有两个 GWM 列表吗?

不可以。您无法为单个 Google Cloud 项目创建两条 GWM 商家信息。

不过,您可以将插件打包。这样一来,单个 GWM 列表就可以代表多个插件。然后,通过此类商品详情进行安装将一次性安装软件包中的所有插件。用户在授权时需要同意捆绑的插件所需的所有范围。

关于捆绑销售,您还需要注意以下两点:

  1. Google 课堂插件仅面向教与学升级版或教育 Plus 版 SKU 的订阅者提供。

  2. 该插件 API 目前处于抢先体验阶段,仅供参与的开发者和 Google Cloud 项目使用。如果捆绑的插件依赖于未参与此计划的 Google Cloud 项目,则可能无法按预期运行。

其他 Google Cloud 项目的 OAuth 客户端可否在 Google Cloud 项目中重复使用,用于 Google 课堂插件?

不可以,Google Cloud 项目(Google 课堂插件 Google Cloud 项目除外)的 OAuth 客户端无法运行。其他 Google Cloud 项目生成的访问令牌会被 Classroom API 拒绝。您必须为该插件项目创建单独的 OAuth 客户端。

用户体验

我们的徽标无法很好地适应小正方形,iframe 标题栏中有哪些徽标尺寸可供选择?

iframe 标题栏仅支持 32x32 方形徽标。此选择是为了配合各公司在其网站上使用的网站图标形状,我们的指南是在空间中使用相同的徽标,以实现品牌一致性。

网域

同一网域中的所有教师和学生是否都可以访问已安装的插件?

学校管理员可以控制哪些教师可以查看已安装的插件。

网域管理员如何使用插件?

网域管理员控制哪些人可以使用您的插件。他们可以使用管理员安装选项为整个网域安装插件。请注意,如果您的插件可以单独安装,请注意,大多数管理员都维护着插件许可名单;教师可以自行安装此列表中的插件。管理员也可以选择单独安装插件以进行测试。

管理员可能还对有关插件的使用情况统计信息感兴趣。如果您的产品支持,不妨考虑在您自己网站的管理员视图中提供插件使用情况统计信息。

API

要想了解合作伙伴页面是在 iframe 中还是在弹出标签页中加载的,用什么方法可靠?

目前没有区分这两者的方法。

哪些可分配的作业会显示“学生作业评审” iframe?

我们仅针对活动类型的附件提供“学生作业评价”iframe。 调用 courses.courseWork.getAddOnContext 方法,以显示帖子类型是否支持学生作业。只有帖子类型是活动的帖子时,supportsStudentWork 字段才能设为 true

在抢先体验计划期间,是否可以对 API 进行重大更改?

插件 API 仍处于开发阶段。因此,API 可能会发生重大更改,导致之前成功的请求失败或行为方式不同。如果有任何破坏性更改,您可以提前通过开发者论坛收到通知。

插件附件可以访问其附加的信息流项目吗?

是的。您可以 getpatch 包含至少一个插件附件的任何 AnnouncementCourseWorkCourseWorkMaterial。您可以 reclaimreturnturnIn CourseWork StudentSubmission

Google 课堂插件何时公开发布?

自 2022 年夏季起,所有最终用户都可以使用 Google 课堂插件。插件 API 预计将于 2024 年的某个时间向开发者正式发布。

单点登录

可以,他们仍然可以使用 Google 登录功能。

每位学生是否都有格式正确的电子邮件地址(即使他们没有 Gmail 访问权限)?

每位 Google Workspace 教育版用户都拥有 Google 身份,无论他们是否有权访问 Gmail。身份由电子邮件地址表示。对任何特定 Google 服务(包括 Gmail)的身份和访问权限都是不同的。因此,即使 Gmail 已停用,学生用户也可以使用其电子邮件地址登录。

学校管理员是否需要预先批准该应用,才能允许学生登录?

网域管理员必须先将插件列入许可名单,然后才能安装。网域管理员可以选择为网域或组织部门中的所有用户安装插件。

反馈和一般问题

如何提交功能请求或提出问题?

您可以在我们的公开问题跟踪器中提交和查看功能请求,并为其投票。

如何知道 Classroom API 何时推出了新功能?

此 API 的更新会发布在版本说明页面、我们的开发者论坛公开问题跟踪器上。

我在使用 Classroom API。我该如何询问技术问题?

使用 google-classroom 标记在 Stack Overflow 上发布问题。