首页 > 解决方案 > 使用 Google 表格为 Google 课堂作业评分

问题描述

我正在尝试对大约 200 名学生的 Google 教室进行评分,并且我已成功地在 .csv 文件上对每个学生进行评分。有没有一种方法可以让您从 Google 表格自动填写和提交 Google 课堂上的成绩和评论?

我试过阅读 .csv 文件,它在 Python 脚本中运行良好,但将数据写入 Google Classroom 一直是个问题。

标签: google-sheetsgoogle-classroom

解决方案


使用Classroom API,如果您在 Google Classroom 中有要匹配的学生 ID 或学生电子邮件,您应该能够将成绩推送到您的课程。但是,您不能推送评论。

推送成绩的工作流程如下:

  1. 如果您没有 Classroom 课程 ID,请通过courses.list端点检索它。将其放在手边以备将来使用。
  2. 使用步骤 1 中的课程 ID,通过coursework.create函数创建一个CourseWork项。您必须为您的每项作业执行此操作。确保保留与每个作业关联的 CourseWork ID 以供将来参考。
  3. 如果您只有学生电子邮件,则必须使用students.get端点获取他们的课堂 ID。这也需要步骤 1 中的课程 ID。
  4. 每个 CourseWork 都有每个学生的学生提交对象,因此您需要为每个学生收集这些学生提交 ID 以用于作业。您可以使用studentsubmissions.get端点来执行此操作。
  5. 使用这些学生提交 ID 中的每一个,通过studentsubmissions.patch端点推送给定作业的学生成绩。您需要课程、课程作业和学生提交 ID 来提升该成绩。
  6. 最后,使用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 脚本来完成所有这些工作。

至于评论功能,我们现在不支持,但我鼓励您可以在此处关注报告的功能请求以获取更新。我还建议点击“我也是!” 在列出的问题的顶部,并发布有关您的用例 + 需求的任何评论。

希望这可以帮助!


推荐阅读