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

使用Google Classroom API和Google Apps Script添加等级的问题

都超英
2023-03-14

我无法使用Google Classroom API更改成绩。当我运行下面的代码时,第2行和第3行运行正常。但是,第4行失败,出现以下消息:@ProjectPermissionDended开发者控制台项目不允许发出此请求。

1)  var studentSubmission = {'assignedGrade':'1'};
2)  var studentSubmissions = Classroom.Courses.CourseWork.StudentSubmissions.list(courseId, courseWorkId, {userId:'studentEmail@apps.matsuk12.us'});
3)  var studentAssignmentId = studentSubmissions['studentSubmissions'][0].id;
4)  Classroom.Courses.CourseWork.StudentSubmissions.patch(studentSubmission, courseId, courseWorkId, studentAssignmentId,{'updateMask':'assignedGrade'});

当我转到项目属性并查看范围时,我看到的是:

https://www.googleapis.com/auth/classroom.courses
https://www.googleapis.com/auth/classroom.coursework.students
https://www.googleapis.com/auth/classroom.profile.emails
https://www.googleapis.com/auth/classroom.profile.photos
https://www.googleapis.com/auth/classroom.rosters
https://www.googleapis.com/auth/spreadsheets

我正在尝试使用一个绑定到容器的脚本(电子表格)访问我自己的Google教室。似乎如果我有权访问作业,我应该有权添加分数。不知道为什么我不能加分数。我能做些什么来让代码正常工作吗?最终目标是能够使用表格(而不是谷歌表格)对作业评分,并将分数自动推送到谷歌教室。

我看到一篇相关的帖子提到了一个解决方案,但不清楚如何实现它:使用教室、课程、作业、学生提交文件、列表(4140802194801051201)的权限被拒绝;

我在这里还看到一个相关的bug报告:https://issuetracker.google.com/issues/67748271 (我不确定这是否真的是一个bug,或者这是否就是谷歌课堂API的工作原理,或者我只是做错了什么)

共有1个答案

鲁华皓
2023-03-14

从您链接的帖子中,有人发布了以下代码:

function createCoursework (id) {
 Classroom.Courses.CourseWork
  .create(id, { 
// doesn't work but triggers permissions correctly "courseId": id, "title": 'foo', "description": 'desc', }); 
}

基本上,您需要将此代码放在项目代码中的某个地方。然后,使用运行菜单执行该功能。它不会做任何事情,但会初始化来自谷歌的授权请求;通过弹出窗口的方式。在此之后,您应该可以删除该函数并使用该范围。

 类似资料:
  • 问题内容: 我正在使用JDBC与MySQL同步,以向MySQL数据库的表添加和定义行。问题是,当我使用类中的方法向表中添加行时,我不知道为什么会抛出一个。请记住,我之前已经尝试过通过方法读取表,并且它成功打印出了单元格值。以下是有关的代码断裂: 这是控制台: [更新] 加入后,在表列的成功添加行的表,现在,我只想知道为什么MySQL不接受请求,从添加新行如果列没有出现在该表? 问题答案: 如果您未

  • 这是我的build.gradle文件 而且,我的文件也如下所示:

  • 参考http://activemq.apache.org/security.html的ActiveMQ安全留档,我正在尝试将新用户添加到我的ActiveMQ配置中。该用户应该只能看到可用队列的子集。 我做了以下工作: 1)在users.properties中添加了一个条目: 2) 在组中添加了一个条目。属性: 3) 向activemq添加了一个条目。xml,在代理元素的plugins元素中: 当我

  • 本文向大家介绍使用RecyclerView添加Header和Footer的方法,包括了使用RecyclerView添加Header和Footer的方法的使用技巧和注意事项,需要的朋友参考一下 RecyclerView与ListView原理是类似的:都是仅仅维护少量的View并且可以展示大量的数据集。RecyclerView用以下两种方式简化了数据的展示和处理: 使用LayoutManager来确定

  • 问题内容: 我需要执行以下sql: 此sql在我的oracle数据库中运行良好,但在我有时使用的h2数据库中却不起作用,因为未定义等级和分区。 因此,我需要转换此sql,以便它可以在h2和oracle中工作。 我想使用Java执行此sql。那么有可能将此sql拆分为不同的sql,而不进行排名和分区吗?然后用Java处理呢? 问题答案: 如果在分区中是唯一的,则可以:

  • 以 gx8010 ssd 1v 板级为例: 1 修改 target/linux/leo/Makefile,为 SUBTARGETS 变量添加板级目录名称,例如 gx8010-ssd-1v,该 Makefile 调用 BuildTarget 宏实现该板级的定义,该宏在 $(INCLUDE_DIR)/target.mk 里定义。 2 创建板级目录 gx8010-ssd-1v,名称须与 target/l