无论是使用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);
}
通过GSM安装时,未列出的附加组件未与旧版本的G-Suite服务一起显示在编辑器中。这似乎已在该服务的当前版本中修复。