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