通过G-Suite Marketplace SDK发布时不会创建附加菜单,但通过Chrome Web Store会创建

时间:2019-07-07 13:30:02

标签: google-apps-script triggers menu google-form google-apps-script-addon

无论是使用createAddonMenu()还是createMenu(),当通过GSM安装附加组件或通过G-Suite Marketplace SDK与“与Google集成”一起打开时,我都无法创建菜单。通过脚本编辑器的“作为加载项测试”有效,通过Chrome Web Store的安装有效,并且我不知道有什么问题。我不确定脚本是否首先运行。

我尝试了StackOverflow的现有解决方案,例如以不同的顺序调用函数,但是似乎没有任何效果。

有人知道什么可能会阻止附件/脚本与GSM一起使用吗?

这是我使用的onOpen和onInstall函数。

function onOpen(e) {
  if(LOGENAB){console.log("onOpen...");}
  if(LOGENAB){console.log(e.authMode);}
  if(e && e.authMode == ScriptApp.AuthMode.NONE){
    // Authorization needed
    if(LOGENAB){console.log("# Authorization required!");}
    var ui = FormApp.getUi();
    var menu = ui.createMenu('title');
    menu.addItem('Authorize', 'authorizeAddon');
    menu.addToUi();
  } else {
    // Authorization not needed
    if(LOGENAB){console.log("# Authorization OK!");}
    var ui = FormApp.getUi();
    var menu = ui.createMenu('title');
   menu.addItem('Control Panel', 'showControlPanel');
   menu.addItem('About', 'showAbout');
   menu.addItem('Reset running status','toggleStatus');
   menu.addToUi();
  }
}
function onInstall(e) {
  if(LOGENAB){console.log("onInstall...");}
  onOpen(e);
}

1 个答案:

答案 0 :(得分:0)

通过GSM安装时,发布为未列出的附加组件不会在具有旧版G-Suite服务的编辑器中显示。这似乎已在该服务的当前版本中修复。