很抱歉,从存储中读取时发生服务器错误。错误代码 PERMISSION_DENIED

We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED

我写了一个 google 脚本编辑器插件,并将其发布到 google 市场并具有私有可见性(它仅对我组织中的用户可见)。我在脚本编辑器中使用所有类型的权限(为当前用户安装、在当前文档中启用、安装并启用)测试了插件,一切正常。但是,将插件发布到市场并将其安装在测试电子表格中后,我不断收到此错误:We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED. from the onOpen function.

我正在明确设置这些 oauth 范围:

"oauthScopes": [
    "https://www.googleapis.com/auth/script.container.ui",
    "https://www.googleapis.com/auth/spreadsheets.currentonly",
    "https://www.googleapis.com/auth/script.scriptapp",
    "https://www.googleapis.com/auth/userinfo.email",
    "https://www.googleapis.com/auth/userinfo.profile"
  ]

这是我的 onOpen 触发器:

function onOpen(e: AppsScriptEvent) {
    if (e && e.authMode !== ScriptApp.AuthMode.NONE) {
        const ui = SpreadsheetApp.getUi();
        const menu = ui.createAddonMenu();
        menu.addItem("Add New Offering", "addNewOffering");
        menu.addSeparator();
        menu.addSubMenu(
            ui
                .createMenu("Settings")
                .addItem("Dashboard Name", "changeDashboardName")
                .addItem("Dashboard Start Cell", "changeDashboardStartCell")
        );
        menu.addToUi();
    }
}

我还缺少什么其他类型的许可?

我 运行 遇到了同样的问题,这似乎与在 Chrome 上登录多个 google 帐户有关。

  • 笔记本电脑 1:昨晚我在笔记本电脑上编写 Google 应用脚本 在 Chrome.
  • 上仅使用一个 Google 帐户
  • 笔记本电脑 2:今天我正在尝试使用我的另一台笔记本电脑更新我的 Google 应用脚本 其中有多个 Google 帐户登录。

当 运行 来自 Laptop 2 的脚本出现错误时:

We're sorry, a server error occurred while reading from storage. Error code PERMISSION_DENIED.

我在 Laptop 1 上尝试了脚本,一切正常。接下来,我在 Laptop 2 上打开了隐身模式 windows 并登录到我的单一帐户,一切正常。

禁用 App Script V8 运行时为我解决了使用多个帐户登录时的问题...

我正在我的非主要 Google 帐户上开发一个插件,所以当我从 HTML 对话框调用服务器端 Google 应用程序脚本函数时遇到错误。

希望对您有所帮助。

我刚遇到这个问题。在我的笔记本电脑中,帐户很少,而且我不是从默认帐户开发的。将项目共享到默认帐户并接受默认帐户的插件权限后,问题消失。