谷歌应用程序脚本-StudentSubmissions.Patch UpdateMask错误



尝试使用StudentSubmissions。在Google应用程序脚本中修补Classroom API的一部分,并保持在该错误上运行

updateMask:updateMask只能包含"draftGrade"或"assignedGrade"

这是我为特定部分编写的代码:

var studentSubmission = {'draft_grade':'88'}
var patchC = Classroom.Courses.CourseWork.StudentSubmissions.patch(studentSubmission, courseId, cwId, submissionId);

我传递StudentSubmission Resource参数的方式显然有问题,但我不明白为什么。。。

这显然是我所指的文件——https://developers.google.com/classroom/reference/rest/v1/courses.courseWork.studentSubmissions/patch

更新

我能够稍微修改一下代码,以反映你们两个所说的内容。很明显,我没有完全使用你们两个所说的,因为KENdi的例子在Python和Ein2012中,它会在var patchC=Classroom上出错行。

我改变了一些现在看起来像这样的东西:

var studentSubmission = {'draftGrade':'88'}
   var extra =  {'updateMask':'draftGrade'};
   var patchC = Classroom.Courses.CourseWork.StudentSubmissions.patch(studentSubmission, courseId, cwId, submissionId, extra);

但现在我收到了一个不同的错误"@ProjectPermissionDenied开发人员控制台项目不允许发出此请求"。所以,现在我不确定格式是否正确,还有一些开发人员控制台的情况我还没有解决(尽管感觉我是正确的),或者新的格式是错误的,我只是得到了野生权限错误。

我看到了这个类似的错误,但如果课程作品是通过课堂而不是脚本正常创建的呢?啊。

指定更新掩码字段,稍后执行并指定文档中指示的名称("draftGrade"、"assignedGrade")

var studentSubmission = {'draftGrade':'88'}
var patchC = Classroom.Courses.CourseWork.StudentSubmissions.patch(studentSubmission, courseId, cwId, submissionId);
patchC.UpdateMask = "draftGrade";

var response = submisionObj.Execute();

根据您的错误,声明updateMask只能包含"draftGrade"或"assignedGrade"。因此,从您的代码中,您只需要updateMask的这两个值。

updateMask标识要更新学生提交的内容中的哪些字段。此字段是进行更新所必需的。如果指定了无效字段,则更新失败

从本文档中,StudentSubmission资源有两个字段用于存储成绩:assignedGrade,它是向学生报告的成绩,draftGrade,它是仅对教师可见的暂定成绩。使用具有包含适当字段的字段掩码的courses.courseWork.studentSubmissions.patch来更新这些字段。

下面是关于如何做到这一点的示例代码。

studentSubmission = { 
'assignedGrade': 99, 
'draftGrade': 80 
} 
service.courses().courseWork().studentSubmission().patch( 
courseId=<course ID or alias>, 
courseWorkId=<courseWork ID>, 
id=<studentSubmission ID>, 
updateMask='assignedGrade,draftGrade', 
body=studentSubmission).execute()

相关内容

  • 没有找到相关文章

最新更新