我们在新的谷歌应用程序脚本添加商店中发布了一个插件,但在安装它的初始电子表格以外的任何电子表格中使用添加时,权限似乎无法正常工作。
我遇到一个问题,即当创建新的电子表格并且用户从'manage add-ons'菜单中选择'使用此添加'时,我们的菜单项不会被填充。目前我们一直在告诉别人删除加载项并重新安装以强制权限流以获得完全权限。
我查看了https://developers.google.com/apps-script/add-ons/lifecycle#opening处的权限生命周期指南,看来我们的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);
}
}
任何人都知道我们做错了什么?