3

我正在尝试制作这个附加插件,它可以帮助我和其他人将工作表导出到 JSON。在我的测试中,它显示了菜单并且所有功能都有效(如您在屏幕截图中看到的那样)。当我发送在 Google Web Store 上发布时,“Docs Add-ons Advisor”在评论中看不到菜单。因此,正如“Docs Add-ons Advisor”所建议的那样,我将其发布为“未列出”以查看它是否对我有用。它不起作用。这是我正在使用的代码和链接。谁能告诉我我做错了什么并帮助我解决它。

插件(未列出):https ://chrome.google.com/webstore/detail/export-to-json/fcnpcmlbpljkcehfcgllklhbgppinbdd?hl=en-US&gl=US&authuser=0

参考:

代码:

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

function onOpen(e) {
  var menu = SpreadsheetApp.getUi().createAddonMenu(); // Or DocumentApp or FormApp.

  if (e && e.authMode == ScriptApp.AuthMode.NONE) {
  // Add a normal menu item (works in all authorization modes).
    menu.addItem('Export to JSON', 'exportInit');
  } 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('Start to JSON', 'startJson');
    } else {
      menu.addItem('Export to JSON', 'exportInit');
    }
  }
  menu.addToUi();
}

function startJson(){
  ...code...
}
function exportInit() {
  ..code..
}
4

2 回答 2

1

我有类似的问题。但我的问题是我声明了基本上阻止onOpen(e)运行的全局变量。

不过,我确实看到您没有在示例代码中声明全局变量。

于 2017-02-20T13:01:11.297 回答
0

我的插件也有同样的问题:当我运行脚本时菜单项是可见的,但是一旦我将它作为插件发布,菜单项就神秘地消失了(只剩下“帮助”)

我添加了另一个项目,由于某种原因,两者都开始出现!在你的 onOpen(e) 函数中试试这个:

function onOpen(e) {
SpreadsheetApp.getUi().createAddonMenu()
  .addItem('Export to JSON', 'exportInit')
  .addSeparator()
  .addItem('Test', 'exportInit')
  .addToUi();
}
于 2018-07-23T13:54:33.433 回答