该代码应该从另一个电子表格中复制一些数据,然后由我操纵。
该代码昨天有效,然后我今天尝试添加一个库,即使删除了该库并将其代码回滚到昨天的版本,它仍然会引发此错误。
错误消息:
您无权调用SpreadsheetApp.openById。需要 权限:https://www.googleapis.com/auth/spreadsheets(第21行, 文件“导入”)
代码:
data = SpreadsheetApp.openById('1-SyJRflR1YYYYDRo3e7xnDhYYYY6hIGDBKODl9XXXXX').getSheetByName("g1.1").getDataRange().getValues();
我在两个文档的任何地方都没有使用“ // @ OnlyCurrentDoc”,所以这不是我的问题。
已从资源菜单中选中该项目的Google Sheets API已打开。
我尝试使用的库函数只是一个简单的时间(与工作表无关),并且目前在我的项目中的任何地方都没有调用它,并且库已分离。
答案 0 :(得分:1)
如果您的库包含//@OnlyCurrentDoc
,并且在添加库后获得了授权,则您的权限可能只包含了当前文档。
如果您已明确设置范围1,则这些范围可能未包含https://www.googleapis.com/auth/spreadsheets
如果您仍要使用该库,请在主脚本中添加//@NotOnlyCurrentDoc
,然后重新运行该函数。如果没有,请删除该库并重新运行您的功能。
删除清单中的显式作用域将触发正常的授权流程。
如果其他所有方法均失败,请访问your account,找到您的项目并删除所有访问权限。现在,重新运行脚本中的任何功能将触发正常的授权流程。