Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/139.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 为Google课堂脚本添加作用域会删除SpreadsheetApp的权限_Google Apps Script_Google Classroom - Fatal编程技术网

Google apps script 为Google课堂脚本添加作用域会删除SpreadsheetApp的权限

Google apps script 为Google课堂脚本添加作用域会删除SpreadsheetApp的权限,google-apps-script,google-classroom,Google Apps Script,Google Classroom,在一个连接到电子表格的脚本中,我循环浏览电子表格的行,并通过调用classk.Courses.coursework.create(ClassSource,courseId) 我已经考了很多次了,今天我试着把这一年的每周作业改成我自己开设的课程。我在第十次加法时出错了。我假设这是一个超时问题,所以我添加了一个sleep语句。没有任何效果,所以我试着从一个新的脚本开始 如果我只是输入代码来访问电子表格 var sheet = SpreadsheetApp.getActiveSheet();

在一个连接到电子表格的脚本中,我循环浏览电子表格的行,并通过调用
classk.Courses.coursework.create(ClassSource,courseId)

我已经考了很多次了,今天我试着把这一年的每周作业改成我自己开设的课程。我在第十次加法时出错了。我假设这是一个超时问题,所以我添加了一个
sleep
语句。没有任何效果,所以我试着从一个新的脚本开始

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

    var sheet = SpreadsheetApp.getActiveSheet();
    var rangeSS = sheet.getDataRange()
    var data  = sheet.getDataRange().getValues();
授权没有问题,但是对
教室的调用不起作用

然后我加上

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

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

您没有调用getActiveSheet的权限

我通过资源->高级谷歌服务启用了
工作表
。 我已经通过脚本仪表板启用了
教室
工作表
我在Opera和Chrome上都试过几次,有时还启用了GoogleDrive

似乎什么都不管用。想知道是否有其他人见过这个问题

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)
  ...
函数myFunction(){
var weekday=新数组(“星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”);
var sheet=SpreadsheetApp.getActiveSheet();
var ranges=sheet.getDataRange()
var data=sheet.getDataRange().getValues();
对于(变量i=1;i
如果您在清单文件中明确定义了
oauthScopes
,这些就是使用的作用域。不会添加自动作用域-否则您将无法减少到所需的最小作用域,因为应用程序脚本的自动作用域将添加尽可能多的许可作用域。请注意,Sheets advanced service仅在启用Sheets REST API的客户端库-这与通过
SpreadsheetApp
访问的电子表格服务不同。它不提供或授予任何oauth作用域。相关(不完全重复):将appsscript.json文件更改回原始状态,然后保存。单击“文件”菜单和“项目属性”菜单项。单击“作用域”选项卡。复制作用域。将这些作用域与要使用的其他作用域一起添加到清单文件,然后保存清单文件。感谢帮助。我更改了清单文件正如您所建议的,现在脚本运行。我返回到“遇到内部错误”(第147行,文件代码)。第147行是对.class.Courses.CourseWork.create(ClassSource,courseId)的调用