Google 脚本不授权我使用 API 的功能甚至接受弹出窗口
Google Script does not autorhize me to use function of API even accept popup
我得到了一个基本功能(我只保留相关代码):
function list() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getRange("Analyse!B1").setBackground("red");
}
我在这样的单元格中调用函数:=list()
Error : You're not authorize to call function list
我收到上面的弹出窗口,要求我授权,我接受了,但没有任何改变总是一个错误:
您不能从自定义函数中调用 setBackground() 等函数。
当您 运行 Apps 脚本代码作为自定义函数时,它 运行 具有一组有限的 "safe" 权限,这就是系统不会提示您授权脚本的原因。
自定义函数与调用 sheet 交互的唯一方法是返回单个值或二维数据数组,这些数据将从调用单元格的位置写入。
查看我对类似问题的回复:
如果您必须更改背景颜色或执行其他类型的操作,则需要以其他方式触发功能,例如从菜单选项或侧边栏,这将触发授权流程和 运行 具有完全权限。
这是一个已知错误,可能会影响用户在同一浏览器中登录多个 Google 帐户的脚本?
打开 Google Chrome,转到菜单并选择新隐身模式 Window。这里再次打开相同的 Google sheet 和 运行 脚本。
我得到了一个基本功能(我只保留相关代码):
function list() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
ss.getRange("Analyse!B1").setBackground("red");
}
我在这样的单元格中调用函数:=list()
Error : You're not authorize to call function list
我收到上面的弹出窗口,要求我授权,我接受了,但没有任何改变总是一个错误:
您不能从自定义函数中调用 setBackground() 等函数。
当您 运行 Apps 脚本代码作为自定义函数时,它 运行 具有一组有限的 "safe" 权限,这就是系统不会提示您授权脚本的原因。
自定义函数与调用 sheet 交互的唯一方法是返回单个值或二维数据数组,这些数据将从调用单元格的位置写入。
查看我对类似问题的回复:
如果您必须更改背景颜色或执行其他类型的操作,则需要以其他方式触发功能,例如从菜单选项或侧边栏,这将触发授权流程和 运行 具有完全权限。
这是一个已知错误,可能会影响用户在同一浏览器中登录多个 Google 帐户的脚本?
打开 Google Chrome,转到菜单并选择新隐身模式 Window。这里再次打开相同的 Google sheet 和 运行 脚本。