Google apps script 气体–“;您无权调用SpreadsheetApp.openById";
我的一个脚本使用Google apps script 气体–“;您无权调用SpreadsheetApp.openById";,google-apps-script,Google Apps Script,我的一个脚本使用SpreadsheetApp.openById(ID)从电子表格中获取数据。脚本已被授予打开文件的权限,并且脚本用户对文件具有写访问权限。但是,有时脚本会返回以下错误: You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets at [unknown function](Code:11)
SpreadsheetApp.openById(ID)
从电子表格中获取数据。脚本已被授予打开文件的权限,并且脚本用户对文件具有写访问权限。但是,有时脚本会返回以下错误:
You do not have permission to call SpreadsheetApp.openById. Required permissions: https://www.googleapis.com/auth/spreadsheets at [unknown function](Code:11)
其他时候,没有问题,脚本工作得很完美。关于如何解决这个问题有什么想法/帮助吗
脚本示例:
var spreadsheet = SpreadsheetApp.openById("1m65QVfk9Xx2zOwUxewdSjWCDK-g_jHj7ETFVFF0rjxY")
function myFunc() {
sheet = spreadsheet.getActiveSheet()
prepareHours()
inputDisplays()
}
您不能“授予脚本打开文件的权限”,因为脚本不是自治的:用户执行脚本。如果导致脚本执行的用户以不提供授权的方式执行,例如执行名为onOpen
或onEdit
的函数等简单触发器,则需要授权的任何调用都将失败,并出现基于权限的错误,如您共享的错误
由于对每个应用程序脚本实例都评估全局,因此始终建议避免在全局范围内调用API/服务调用。此外,由于简单触发器适用于任何具有编辑文档权限的用户,因此建议避免在限制AuthMode
s的情况下使用需要用户权限的方法
-
警告:当运行
函数时,将加载整个脚本并执行所有全局语句。这些语句在与onOpen(e)相同的授权模式下执行,如果模式禁止,则会失败。这会阻止onOpen(e)运行。如果您发布的加载项未能添加其菜单项,请查看浏览器的JavaScript控制台,查看是否引发了错误,然后检查您的脚本,查看onOpen(e)
函数或全局变量是否调用onOpen(e)
中不允许的服务AuthMode.NONE
onOpen
或onEdit
的函数等简单触发器,则需要授权的任何调用都将失败,并出现基于权限的错误,如您共享的错误
由于对每个应用程序脚本实例都评估全局,因此始终建议避免在全局范围内调用API/服务调用。此外,由于简单触发器适用于任何具有编辑文档权限的用户,因此建议避免在限制AuthMode
s的情况下使用需要用户权限的方法
-
警告:当运行
函数时,将加载整个脚本并执行所有全局语句。这些语句在与onOpen(e)相同的授权模式下执行,如果模式禁止,则会失败。这会阻止onOpen(e)运行。如果您发布的加载项未能添加其菜单项,请查看浏览器的JavaScript控制台,查看是否引发了错误,然后检查您的脚本,查看onOpen(e)
函数或全局变量是否调用onOpen(e)
中不允许的服务AuthMode.NONE