Google apps script Google附加组件在有限模式应用程序脚本中添加菜单项

Google apps script Google附加组件在有限模式应用程序脚本中添加菜单项,google-apps-script,google-sheets,google-apps-script-addon,Google Apps Script,Google Sheets,Google Apps Script Addon,我们在新的GoogleAppScripts加载项商店中发布了一个加载项,但是当在任何电子表格中使用该加载项时,权限似乎无法正常工作,而不是安装在最初的电子表格中 我看到一个问题,当创建一个新的电子表格并且用户从“管理附加组件”菜单中选择“使用此附加组件”时,我们的菜单项不会被填充。目前,我们一直在告诉人们删除插件并重新安装,以强制权限流获得完整权限 我在上查看了《权限生命周期指南》,似乎我们的onOpen功能应该能够在受限权限模式下添加菜单项: function onOpen(e) { va

我们在新的GoogleAppScripts加载项商店中发布了一个加载项,但是当在任何电子表格中使用该加载项时,权限似乎无法正常工作,而不是安装在最初的电子表格中

我看到一个问题,当创建一个新的电子表格并且用户从“管理附加组件”菜单中选择“使用此附加组件”时,我们的菜单项不会被填充。目前,我们一直在告诉人们删除插件并重新安装,以强制权限流获得完整权限

我在上查看了《权限生命周期指南》,似乎我们的onOpen功能应该能够在受限权限模式下添加菜单项:

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createAddonMenu();
  menu.addItem("About OurApp", 'aboutOurApp');
  menu.addItem("Show Sidebar", "showSidebar");
  menu.addToUi();
  Logger.log(e);
  if (e && (e.authMode == ScriptApp.AuthMode.NONE || e.authMode == ScriptApp.AuthMode.LIMITED)) {
    return; // once user selects a menu item, full permissions should be asked for according to docs.
  } else {
   // we have full permissions - show the sidebar.
    var ui = HtmlService.createHtmlOutputFromFile('Sidebar')
     .setTitle('Our App');
    SpreadsheetApp.getUi().showSidebar(ui);
  }
}

有人知道我们做错了什么吗?

有什么证据让你得出权限问题的结论?(你没有描述预期和观察到的行为。)好奇。。。既然您还有一个
showSidebar()
函数,为什么还要
onOpen()
显示边栏呢?(对于插件来说,这是非常不礼貌的行为,不是吗?)onInstall和onOpen函数都试图用项目填充电子表格菜单。我发现只有在第一次安装电子表格时才会添加这些项目(授予权限后)。预期的行为是用户选择“在此电子表格中使用此加载项”后安装的菜单项。我显示侧栏,以便用户可以与应用程序交互。他们可以选择稍后关闭侧栏(以供查看),并且菜单项在那里让他们再次访问侧栏。