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 和 运行 脚本。