Google 用于上交、评分和 return Google 课堂作业的 Apps 脚本
Google Apps Script to turn in, grade, and return a Google Classroom Assignment
正如下面评论中提到的,如果只有学生可以上交一些东西,那么即使作业尚未上交,我也需要能够对其进行评分和 return然而。澄清一下,作业是用 API 完成的,我可以控制 class 和学生。
正如下面附加评论中提到的,即使您没有 return 作业,学生仍然会看到分配的成绩,这就实现了这个问题的目标。因此,使用课堂 API.
为作业评分不需要上交和 return
有几个问题与这个问题类似,但不够完整,而且 none 似乎有具体的答案,所以我会尝试尽可能具体。我需要能够强制上交学生的作业,即使他们还没有这样做,然后打分,然后是 return。使用下面的脚本,我收到两个错误。
一,"Invalid JSON payload received. Unknown name "assignment_submission“:找不到字段。(第 15 行,文件 "GRADES CLASSROOM")”,即使这在课堂参考中 (https://developers.google.com/classroom/reference/rest/v1/courses.courseWork.studentSubmissions) .
第二,当我尝试使用 "return" 方法时,(代码的倒数第二行)它 return 出现错误“. 运算符后缺少名称。(第 17 行,文件 "GRADES CLASSROOM")" 当我尝试保存代码时,迫使我在保存之前将其注释掉。我认为很多人一直在寻找如何设置此过程的答案。
function returnGrade () {
var submit ={assignedGrade: 80};
var upDate = {updateMask: 'assignedGrade'};
var resource1 = {
assignmentSubmission: {
addAttachments: [{
link:{
url: "URL"
},
}],
},
};
// Classroom.Courses.CourseWork.StudentSubmissions.turnIn(resource1, COURSE ID, WORK ID, "EMAIL");
Classroom.Courses.CourseWork.StudentSubmissions.patch(submit, COURSE ID, WORK ID, "EMAIL", upDate);
// Classroom.Courses.CourseWork.StudentSubmissions.return(resource1, COURSE ID, WORK ID, "EMAIL");
}
在下面的评论中,设置等级的代码已解决。我们只需要看看如何return 等级。
简答
课程作业提交(作业、问题)只能由学生或使用他们的证书完成。我们可以为此使用 OAuth,但是如果您不想使用 OAuth,则可以使用学生帐户提交课程作业,换句话说,使用学生帐户创建一个 运行 的函数并制作另一个功能是使用教师/域管理员帐户进行补丁/return操作。
即使未使用 patch
.
提交,也可以对学生提交的课程作业进行评分
- 课程作业提交只能return如果学生先转
代码
以下代码将成绩添加到一名学生 "successfully"。这时我能够验证 drafGrade 是否在网络上正确注册 UI.
function doPatch(){
var courseId = '6915813348';
var courseWorkId = '11297534926';
var studentSubmissions = Classroom.Courses.CourseWork.StudentSubmissions.list(courseId, courseWorkId,{'userId':'someone@gmail.com'});
var id = studentSubmissions['studentSubmissions'][0].id;
var studentSubmission = {
'assignedGrade': 99,
'draftGrade': 80
}
Classroom.Courses.CourseWork.StudentSubmissions.patch(
studentSubmission,
courseId,
courseWorkId,
id,
{
'updateMask':'assignedGrade,draftGrade'
}
);
}
分配的成绩在学生作业视图中对教师和学生可见
老师在提交视图中可以看到草稿成绩
注释
我做了一些研究和测试,发现了一些"interesting things"
错误信息
"Missing name after . operator. (line 17, file "GRADES CLASSROOM")"
看起来是由于在
中使用了 return
Classroom.Courses.CourseWork.StudentSubmissions.return(resource1, COURSE ID, WORK ID, "EMAIL");
参考:
错误发生是因为 return
是一个 JavaScript 关键字。替代语法是
Classroom.Courses.CourseWork.StudentSubmissions["return"](resource1, COURSE ID, WORK ID, "EMAIL")
但这需要相关学生提交课程作业,否则课堂 API 将抛出前提条件失败错误。
我还没有完整的答案,但重要的是要记住,某些任务取决于用户 class 角色,对于同一门课程,可以是老师或学生,但不能同时是两者。
因此,为了提交作业,应该以某种方式代表相应的学生调用相应的方法,为了 return 作业,应该以某种方式代表 class 老师调用.
参考资料
来自 Method: courses.courseWork.studentSubmissions.turnIn
This may only be called by the student that owns the specified student submission.
来自 Method: courses.courseWork.studentSubmiss.return
Only a teacher of the course that contains the requested student submission may call this method.
正如下面评论中提到的,如果只有学生可以上交一些东西,那么即使作业尚未上交,我也需要能够对其进行评分和 return然而。澄清一下,作业是用 API 完成的,我可以控制 class 和学生。
正如下面附加评论中提到的,即使您没有 return 作业,学生仍然会看到分配的成绩,这就实现了这个问题的目标。因此,使用课堂 API.
为作业评分不需要上交和 return有几个问题与这个问题类似,但不够完整,而且 none 似乎有具体的答案,所以我会尝试尽可能具体。我需要能够强制上交学生的作业,即使他们还没有这样做,然后打分,然后是 return。使用下面的脚本,我收到两个错误。
一,"Invalid JSON payload received. Unknown name "assignment_submission“:找不到字段。(第 15 行,文件 "GRADES CLASSROOM")”,即使这在课堂参考中 (https://developers.google.com/classroom/reference/rest/v1/courses.courseWork.studentSubmissions) .
第二,当我尝试使用 "return" 方法时,(代码的倒数第二行)它 return 出现错误“. 运算符后缺少名称。(第 17 行,文件 "GRADES CLASSROOM")" 当我尝试保存代码时,迫使我在保存之前将其注释掉。我认为很多人一直在寻找如何设置此过程的答案。
function returnGrade () {
var submit ={assignedGrade: 80};
var upDate = {updateMask: 'assignedGrade'};
var resource1 = {
assignmentSubmission: {
addAttachments: [{
link:{
url: "URL"
},
}],
},
};
// Classroom.Courses.CourseWork.StudentSubmissions.turnIn(resource1, COURSE ID, WORK ID, "EMAIL");
Classroom.Courses.CourseWork.StudentSubmissions.patch(submit, COURSE ID, WORK ID, "EMAIL", upDate);
// Classroom.Courses.CourseWork.StudentSubmissions.return(resource1, COURSE ID, WORK ID, "EMAIL");
}
在下面的评论中,设置等级的代码已解决。我们只需要看看如何return 等级。
简答
课程作业提交(作业、问题)只能由学生或使用他们的证书完成。我们可以为此使用 OAuth,但是如果您不想使用 OAuth,则可以使用学生帐户提交课程作业,换句话说,使用学生帐户创建一个 运行 的函数并制作另一个功能是使用教师/域管理员帐户进行补丁/return操作。
即使未使用
patch
. 提交,也可以对学生提交的课程作业进行评分
- 课程作业提交只能return如果学生先转
代码
以下代码将成绩添加到一名学生 "successfully"。这时我能够验证 drafGrade 是否在网络上正确注册 UI.
function doPatch(){
var courseId = '6915813348';
var courseWorkId = '11297534926';
var studentSubmissions = Classroom.Courses.CourseWork.StudentSubmissions.list(courseId, courseWorkId,{'userId':'someone@gmail.com'});
var id = studentSubmissions['studentSubmissions'][0].id;
var studentSubmission = {
'assignedGrade': 99,
'draftGrade': 80
}
Classroom.Courses.CourseWork.StudentSubmissions.patch(
studentSubmission,
courseId,
courseWorkId,
id,
{
'updateMask':'assignedGrade,draftGrade'
}
);
}
分配的成绩在学生作业视图中对教师和学生可见
老师在提交视图中可以看到草稿成绩
注释
我做了一些研究和测试,发现了一些"interesting things"
错误信息
"Missing name after . operator. (line 17, file "GRADES CLASSROOM")"
看起来是由于在
中使用了return
Classroom.Courses.CourseWork.StudentSubmissions.return(resource1, COURSE ID, WORK ID, "EMAIL");
参考:
错误发生是因为 return
是一个 JavaScript 关键字。替代语法是
Classroom.Courses.CourseWork.StudentSubmissions["return"](resource1, COURSE ID, WORK ID, "EMAIL")
但这需要相关学生提交课程作业,否则课堂 API 将抛出前提条件失败错误。
我还没有完整的答案,但重要的是要记住,某些任务取决于用户 class 角色,对于同一门课程,可以是老师或学生,但不能同时是两者。
因此,为了提交作业,应该以某种方式代表相应的学生调用相应的方法,为了 return 作业,应该以某种方式代表 class 老师调用.
参考资料
来自 Method: courses.courseWork.studentSubmissions.turnIn
This may only be called by the student that owns the specified student submission.
来自 Method: courses.courseWork.studentSubmiss.return
Only a teacher of the course that contains the requested student submission may call this method.