当前位置: 首页 > 知识库问答 >
问题:

谷歌应用程序脚本上交、评分和返回谷歌课堂作业

司寇星海
2023-03-14
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"); 
} 

在下面的注释中,已解析设置薪等的代码。我们只需要看看如何返回等级就可以了。

共有1个答案

南宫建白
2023-03-14

>

  • 课程作业提交(作业、问题)只能由学生完成或使用他们的证书完成。我们可以对此使用OAuth,但如果您不想使用OAuth,那么就使用学生帐户上交课程作业,换句话说,使用学生帐户创建一个函数来运行,并使用教师/域管理员帐户创建另一个函数来执行修补/返回操作。

    即使学生提交的课程作业没有提交,也可以使用patch进行评分。

    下面的代码“成功”地为一名学生添加了等级。此时,我能够验证drafGrade是否在web 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'  
        }
      );
    }
    

    参考:Google App脚本

    发生错误是因为return是JavaScript关键字。另一种语法是

    ClassRoom.Courses.CourseWork.StudentSubmissions[“返回”](resource1,课程ID,工作ID,“电子邮件”)

    这只能由拥有指定学生提交的学生调用。

    From方法:Courses.Coursework.StudentSubmiss.Return

    只有包含所请求的学生提交的课程的教师才能调用此方法

  •  类似资料:
    • 如何使用API设置分数? 我花了一天的时间研究教室。课程。作业。学生提交。补丁。它似乎不起作用。我使用了以下代码。它创建错误@ProjectPermissionDenied不允许开发人员控制台项目发出此请求。所有其他功能似乎都起作用。从我所能找到的情况来看,补丁只会在控制台创建的任务上工作。因此,如果我正确理解API…只有当用户是使用API创建作业的教师时,补丁才能设置或更改分数。这似乎是荒谬的限

    • 对于我正在开发的谷歌应用程序脚本,我需要过滤掉那些迟交的学生提交来降低他们的成绩。 根据Google的文档,我假设这是通过使用classroom.courses.coursework.studentsubmissions.list得到的,但我不知道如何将late参数应用到列表中,以便只得到迟交作业的人。

    • 有1个域分别有一个子域-school.com和students.school.com。 我已经为每个班级创建了谷歌课堂使用谷歌应用程序脚本。 运行函数时,出现此错误,

    • 在继续使用GoogleApps脚本构建Google电子表格的过程中,我已经完成了获取Bittrex和Poloniex余额的工作,但无法使用Cryptopia。 下面是我与Bittrex将JSON对象数组映射到字符串的斗争的链接 以下是官方API链接:https://www.cryptopia.co.nz/Forum/Thread/256 以下是一些例子: https://www.cryptopia

    • 我是谷歌教室api新手,我想在本地机器上创建一门课程。我能不能做?如果创建,那么如何使用javascript?在我尝试时,代码出错= 在我的代码中,我使用函数create课程()来创建一个新的课程。 我的代码如下所示 请回复我。。。。。。。。。。

    • 在谷歌工作表上,尝试根据特定单元格中的值隐藏/取消隐藏行,并尝试在AppsScript中为此编写脚本。发现一个隔离工作(如果B55=NO,则隐藏64行): 但我需要对多个单元格和多行使用相同的方法,只要我展开它,就只有代码的最后一部分有效,而不是第一部分: 从这里开始,B121号牢房开始工作,但我的B55停止工作。有什么提示吗?谢谢!