将Google App脚本部署为表格加载项后,菜单项未出现

时间:2019-12-30 10:35:19

标签: google-apps-script google-sheets google-sheets-api

我已经开发了一个脚本并将其部署并发布为“加载项”,这是内部应用程序。我可以在表格中看到加载项,但是只有主菜单可见。在onOpen(e)中创建的菜单项不可见。

这些菜单在我执行测试时可见,但仅在安装到另一个用户中时才起作用。

我想我在部署中遗漏了一些东西。有人可以帮我吗?

第1步:我单击“发布”->“作为附件部署”->收到以下消息:“您必须配置G Suite Marketplace SDK才能发布附件。”

第二步:我去了GCP,从APIs启用了G Suite Marketplace SDK。在配置和发布中提供了所有详细信息,然后单击“发布”。

Step3:现在,该插件在GSuite市场中可见,并且可以安装它。但是只出现主菜单,里面的子菜单没有出现。

function onInstall(e) {
  onOpen(e);
}  

function onOpen(e) {

    var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp.
    if (e && e.authMode == ScriptApp.AuthMode.NONE) {
        // Add a normal menu item (works in all authorization modes).
        menu.addItem('Submit to Level1', 'P_Level1');
        menu.addSeparator();
        menu.addItem('Submit to Level2', 'P_Level2');
    } else {
        // Add a menu item based on properties (doesn't work in AuthMode.NONE).
        var properties = PropertiesService.getDocumentProperties();
        var workflowStarted = properties.getProperty('workflowStarted');
        if (workflowStarted) {
        menu.addItem('Submit to Level1', 'P_Level1');
        menu.addSeparator();
        menu.addItem('Submit to Level2', 'P_Level2');
        } else {
        menu.addItem('Submit to Level1', 'P_Level1');
        menu.addSeparator();
        menu.addItem('Submit to Level2', 'P_Level2');
        }
        menu.addToUi();
    }
}

关于, 西克里希纳。

1 个答案:

答案 0 :(得分:0)

这很好。我提到的步骤已更正。

它不起作用,因为我在“输入”框下面输入了脚本ID。我将其更改为“项目密钥(已弃用)”,并且工作正常。

谢谢大家的投入。

enter image description here