为Google Classroom脚本添加范围会删除SpreadsheetApp的权限

时间:2018-07-10 16:59:38

标签: google-apps-script google-classroom

在连接到电子表格的脚本中,我遍历电子表格的各行,并通过调用Classroom.Courses.CourseWork.create(ClassSource, courseId)

添加课程作业

我已经测试了很多,今天正在尝试每周为我创建的课程分配一年的作业。第10次添加时出现错误。我认为这是超时问题,因此我添加了sleep语句。什么都没用,所以我尝试从新脚本开始。

如果我只是输入代码来访问电子表格,

    var sheet = SpreadsheetApp.getActiveSheet();
    var rangeSS = sheet.getDataRange()
    var data  = sheet.getDataRange().getValues();

授权没问题,但是对Classroom的调用不起作用。

然后我添加

"oauthScopes":  [
  "https://www.googleapis.com/auth/classroom.coursework.students.readonly",
  "https://www.googleapis.com/auth/classroom.courses.readonly"
],
查看-> 显示清单文件

奇怪的是,在这一点上,我得到了错误:

  

您无权调用getActiveSheet。

我通过资源-> 高级Google服务启用了Sheets。 我已通过脚本仪表板启用了ClassroomSheets 我已经在Opera和Chrome上尝试了几次,有时还启用了Google云端硬盘。

似乎没有任何效果。想知道是否有人看到过这个问题。

function myFunction() {
  var weekday = new Array("Sunday", "Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" );
  var sheet = SpreadsheetApp.getActiveSheet();
  var rangeSS = sheet.getDataRange()
  var data  = sheet.getDataRange().getValues();

  for (var i = 1; i < data.length; i++) {
    // set up ClassSource from data in the spreadsheet row
    Classroom.Courses.CourseWork.create(ClassSource, courseId)
  ...

0 个答案:

没有答案