在 Google 课堂中查看、创建和修改 CourseWork
我可以使用 Classroom API 中的 CourseWork 端点构建哪些内容?
借助这些端点,开发者可以查看和管理课程中的作业。具体而言,您可以执行以下所有操作:
- 查看用户的作业和题目(统称为
CourseWork
)。 - 创建、修改和删除
CourseWork
。 - 将资料(云端硬盘文件、YouTube 视频、链接)附加到
CourseWork
。 - 更改学生提交内容的提交状态(例如提交、退回、重新提交)。
- 设置作业提交的成绩。
- 将资料(云端硬盘文件、YouTube 视频、链接)附加到学生提交的内容中。
以下是 CourseWork
的一些使用场景示例:
- 成绩册、SIS 或报告系统可以将作业和成绩从 Google 课堂同步到其应用,从而无需手动转移数据。
- 学习应用可以创建新作业,这些作业会显示在课程信息流中。学生完成作业后,应用可以上交作业、设置成绩、附加学生作业,并将作业存储在相应的云端硬盘文件夹中。
- 教师用户可以创建包含您网站或应用中的插件附件的作业。
- 学生用户可以上交附加了您的插件的作业。
我的应用需要哪些权限才能创建或修改作业?
通常,应用只能修改自己创建的作品。换句话说,任何用于修改 CourseWork
的 API 请求都必须使用创建 CourseWork
时所用的同一 Google Cloud 项目 ID。
Google 课堂插件不受此规则的约束。Cloud 项目可以访问或修改包含一个或多个其插件附件的任何公告、作业或资料。Cloud 项目还可以提交、回收或发回包含一个或多个插件附件的作业。
API 请求还需要正确的用户范围。教师可以查看作业、创建作业、将链接附加到提交的作业中,以及设置提交的作业的成绩。学生可以查看作业、将链接附加到作业记录中,以及上交和收回提交的内容。网域管理员可以查看 CourseWork
,但没有写入权限。
我的应用可以向作业或提交内容附加哪些类型的项?
该 API 支持附加云端硬盘文件、YouTube 视频和链接。目前尚不支持附加原生 Google 表单。
最终用户是否知道 Google 课堂中的作业是由我的应用创建的?
可以。Classroom 界面会使用创建作业的 Google Cloud 项目的产品名称来标识外部创建的作业。用户可以将外部创建的工作内容报告为不需要的内容,还可以通过撤消用户向创建该工作的应用授予的所有凭据来断开与该应用的连接。
“Google 课堂分享”按钮和其他集成
我已与“Google 课堂”分享按钮集成。我可以修改使用分享按钮创建的作业吗?
目前还不支持。如需修改分配,请求必须使用创建该分配的同一 Google Cloud 项目。
我可以在 API 中回答问题吗?
目前还不支持。您可以创建和修改问题。
Google 课堂插件
项目配置
能否将开发期间使用的私有 Google Cloud 项目转换为可在生产环境中使用的公共项目?
不可以,您无法将私有 Google Cloud 项目转换为公开项目。您需要两个单独的项目,一个用于开发,另一个用于生产。
单个 Google Cloud 项目能否拥有两个 Google Workspace Marketplace 商品详情?
不可以。您无法为单个 Google Cloud 项目创建两个 Google Workspace Marketplace 商品详情。
不过,您可以捆绑加购项。这样一来,单个 Google Workspace Marketplace 商品详情便可代表多个插件。如果从此类商品详情中进行安装,则会一次性安装套装中的所有加购项。用户在授权时需要同意捆绑式插件所需的所有范围。
能否将其他 Google Cloud 项目中的 OAuth 客户端重复用于 Google Cloud 项目中的 Classroom 加购项?
不能,来自 Classroom 加购项 Google Cloud 项目以外的 Google Cloud 项目的 OAuth 客户端无法正常运行。由其他 Google Cloud 项目生成的访问令牌会被 Classroom API 拒绝。您必须为插件项目单独创建一个 OAuth 客户端。
用户体验
我们的徽标不太适合放在小正方形中,那么在 Google 课堂插件 iframe 标题栏中,徽标有哪些尺寸选项?
iframe 标题栏仅支持 32x32 的方形徽标。我们之所以选择这种形状,是为了与公司在其网站上使用的 favicon 形状保持一致。我们建议您在相应空间中使用相同的徽标,以确保品牌形象的一致性。
网域
同一网域中的所有教师和学生都可以访问已安装的插件吗?
网域管理员可以控制哪些教师可以查看已安装的插件。只有拥有教与学升级版或教育 Plus 版许可的用户才能使用 Google 课堂加购项。
网域管理员如何与插件互动?
网域管理员可以控制哪些人可以使用您的插件。他们可以使用管理员安装选项为整个网域安装插件。如果您的插件可以单独安装,请注意,大多数管理员都会维护插件许可名单;列入此名单的教师可以自行安装插件。管理员也可以选择单独安装您的插件以进行测试。
管理员可能还对您的插件的使用情况统计信息感兴趣。如果您的产品支持,请考虑在您自己网站的管理员视图中提供插件使用情况统计信息。
API
如何可靠地判断插件内容是否加载在 iframe 或新标签页中?
目前没有区分这两种情况的方法。
哪些可布置的作业项会获得“学生作业查看”iframe?
学生作业检查 iframe 仅适用于活动类型的附件。
调用 courses.courseWork.getAddOnContext
方法,以确定帖子类型是否支持学生作业。supportsStudentWork
字段只能针对属于活动的帖子类型设置为 true
。
附加的插件能否访问其所附加到的数据流项?
可以。您可以get
或patch
包含至少一个插件附件的任何Announcement
、CourseWork
或CourseWorkMaterial
。您可以 reclaim
、return
或 turnIn
CourseWork StudentSubmission
。
单点登录
使用 Clever 徽章或 Classlink 登录 Chromebook 的学生可以使用 Google 登录吗?
可以,他们仍然可以使用 Google 登录。
即使学生无法访问 Gmail,他们是否也拥有格式正确的电子邮件地址?
无论 Google Workspace 教育版用户是否可以访问 Gmail,他们都拥有 Google 身份。身份和对任何特定 Google 服务(包括 Gmail)的访问权限是不同的。即使 Gmail 已停用,学生用户也可以使用其电子邮件地址登录 Google 课堂。身份由用户 ID 和电子邮件地址表示。Google Workspace 教育版用户可以更改其电子邮件地址,因此建议您在存储用户信息时使用用户 ID 作为主键。
学校管理员是否需要预先批准应用,才能允许学生登录?
域名管理员必须先将某插件列入许可名单,然后才能安装该插件。 网域管理员可以选择为网域或组织部门中的所有用户安装插件。
反馈和一般性问题
如何提交功能请求或问题请求?
您可以在我们的公开问题跟踪器中提交、查看和投票表决功能请求。
如何了解 Classroom API 何时推出新功能?
我正在使用 Classroom API。如何咨询技术问题?
在 Stack Overflow 上发布问题时,请添加 google-classroom
标记。