Независимо от того, использую ли createAddonMenu () или createMenu (), я не могу создать меню, если надстройка установлена через GSM, или при открытии с помощью «Интегрировать с Google» через G-Suite Marketplace SDK. «Тестировать как надстройку» с помощью редактора сценариев работает, установка через Интернет-магазин Chrome работает, и я понятия не имею, что может быть не так. Я не уверен, что сценарий запускается в первую очередь.
Я пробовал существующие решения от 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);
}
onOpen()
функции вtry/catch
, а в блоке catch использовалconsole.error('Error on open ' + e)
, который будет регистрировать ошибку в Stackdriver. Пользователю не нужно авторизовывать какие-либо разрешения для использованияconsole.error()
Похоже, что вы используете глобальную переменную с именемLOGENAB
Глобальные переменные могут привести к ошибкеonOpen()
. Я бы не стал использовать функцию onOpen для проверки статуса авторизации или для отображения различных меню. Я бы просто обычное меню построил. С какой проблемой авторизации вы пытаетесь справиться? - person Alan Wells   schedule 07.07.2019onOpen
,onInstall
иtestfunction
(~ 10 строк кода), и возникла та же проблема: ничего не отображается, пользовательский интерфейс или журналы. - person Tyaisurm   schedule 09.07.2019