处理AuthMode.NONE中的Apps脚本属性

时间:2017-12-09 19:39:01

标签: google-apps-script

我正在使用AddOn based on an Apps Script library,它在用户缓存中存储了几个键串。在AuthMode.NONE中测试AddOn时,菜单添加失败,因为缓存在文档打开时尝试加载。

为了解决这个问题,我尝试将几个缓存调用合并到我的代码中。这也没有奏效。

有没有办法以编程方式添加库阻止某些.gs文件在AddOn中加载,直到用户启用它为止?

更新

Tanaike有一个有用的Manifest library,可让您更改应用有权访问的库。但是,它仍然会导致授权限制。 有没有办法让用户以交互方式更改授权模式?

1 个答案:

答案 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开发人员应该处理它并修复错误,但这并不意味着可以通过某些清单库或其他方式解决。