Будь то с помощью createAddonMenu () или createMenu (), я не могу создать меню, когда надстройка установлена через GSM или когда открывается с помощью «Интегрировать с Google» через G-Suite Marketplace SDK.«Проверить как дополнение» через Script Editor работает, установка через 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);
}