我正在使用AddOn based on an Apps Script library,它在用户缓存中存储了几个键串。在AuthMode.NONE
中测试AddOn时,菜单添加失败,因为缓存在文档打开时尝试加载。
为了解决这个问题,我尝试将几个缓存调用合并到我的代码中。这也没有奏效。
有没有办法以编程方式添加库或阻止某些.gs
文件在AddOn中加载,直到用户启用它为止?
更新
Tanaike有一个有用的Manifest library,可让您更改应用有权访问的库。但是,它仍然会导致授权限制。 有没有办法让用户以交互方式更改授权模式?
答案 0 :(得分:0)
我很确定这是Apps Script插件开发流程中的错误。
我已发布an addon,该代码遵循Apps Script文档中的代码:
function onOpen(e) {
var menu = SpreadsheetApp.getUi().createAddonMenu();
if (e && e.authMode == ScriptApp.AuthMode.NONE) {
// Add a normal menu item (works in all authorization modes).
menu.addItem('Enable Addon', 'startWorkflow');
}
menu.addToUi();
}
该插件可以正常工作,并且从Gsuite Marketplace安装后,“启用插件”菜单会正确显示在AuthMode.None中。
但是,当在AuthMode中的脚本编辑器内部进行测试时,没有,它无法使用控制台信息正确添加菜单:
Script Google Apps: Exception: You don't have permission for this action.
我认为Google开发人员应该处理它并修复错误,但这并不意味着可以通过某些清单库或其他方式解决。