google-sheets - 使用 Google 表格为 Google 课堂作业评分
问题描述
我正在尝试对大约 200 名学生的 Google 教室进行评分,并且我已成功地在 .csv 文件上对每个学生进行评分。有没有一种方法可以让您从 Google 表格自动填写和提交 Google 课堂上的成绩和评论?
我试过阅读 .csv 文件,它在 Python 脚本中运行良好,但将数据写入 Google Classroom 一直是个问题。
解决方案
使用Classroom API,如果您在 Google Classroom 中有要匹配的学生 ID 或学生电子邮件,您应该能够将成绩推送到您的课程。但是,您不能推送评论。
推送成绩的工作流程如下:
- 如果您没有 Classroom 课程 ID,请通过courses.list端点检索它。将其放在手边以备将来使用。
- 使用步骤 1 中的课程 ID,通过coursework.create函数创建一个CourseWork项。您必须为您的每项作业执行此操作。确保保留与每个作业关联的 CourseWork ID 以供将来参考。
- 如果您只有学生电子邮件,则必须使用students.get端点获取他们的课堂 ID。这也需要步骤 1 中的课程 ID。
- 每个 CourseWork 都有每个学生的学生提交对象,因此您需要为每个学生收集这些学生提交 ID 以用于作业。您可以使用studentsubmissions.get端点来执行此操作。
- 使用这些学生提交 ID 中的每一个,通过studentsubmissions.patch端点推送给定作业的学生成绩。您需要课程、课程作业和学生提交 ID 来提升该成绩。
- 最后,使用studentsubmissions.return端点返回每个成绩。同样,您需要为此提供课程、课程作业和学生提交 ID。
如果您使用的是电子表格,我想一个包含执行此操作所需的所有数据的示例结构如下所示:
| Student Email | Student ID | Assignment 1 ID | Submission ID | Assignment 1 Grade |
| ------------- |:-------------:|:----------------:| ----------------:| ------------------ |
| Email 1 | student id 1 | courseWork 1 ID | submission 1 ID | grade #1 |
| Email 2 | student id 2 | courseWork 2 ID | submission 2 ID | grade #1 |
| ... | ... | ... | ... | ... |
第 3、4 和 5 列将针对您的每个作业重复。可以在此处和此处找到有关如何编写此代码的文档。如果您使用的是 Google 表格,则可以制作一个Apps 脚本来完成所有这些工作。
至于评论功能,我们现在不支持,但我鼓励您可以在此处关注报告的功能请求以获取更新。我还建议点击“我也是!” 在列出的问题的顶部,并发布有关您的用例 + 需求的任何评论。
希望这可以帮助!
推荐阅读
- javascript - 在javascript中计算时间时得到一个负数
- amazon-web-services - 哪些服务最适合用于收集、转换和存储媒体播放器日志?
- laravel - 模块创建后 Laravel 项目给出错误
- python - 如何从文本中获取文体特征(作者归属任务)
- python - 从 Electron 运行 Python 脚本
- python - 我如何获得元组的最小值和最大值
- javascript - AJAX 调用将空值传递给控制器
- leaflet - 传单米到每个缩放级别的像素
- google-cloud-functions - 如何在谷歌云功能集成测试中使用模拟实现
- c# - MLContext 中的参数 seed 究竟是做什么的?