2

Я пытаюсь сделать этот дополнительный плагин, который может помочь мне и другим экспортировать лист в JSON. В моем тестировании отображается меню, и вся функциональность работает (как вы видите на скриншотах). Когда я отправлял для публикации в Google Web Store, «Docs Add-ons Advisor» не видит меню в обзоре. Так, как «советник надстройки документов», я предположил, что опубликовал его «Непосчитанные», чтобы увидеть, работает ли он на моей стороне. И это не сработает. Вот код, который я использую, и ссылки. Может ли кто-нибудь сказать мне, что я делаю неправильно, и помочь мне исправить это.Элементы меню не отображаются в дополнении Google для листа

Plugin (Unlisted): 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.. 
} 
+0

Теоретически это должно работать. Не знаю, почему он не работает. Вы пытались сделать все «var menu = SpreadsheetApp.getUi(). CreateAddonMenu(). Additem (...)' внутри блока if-else? Просто любопытно. Как я уже сказал, теоретически ничего плохого в вашем коде. – pointNclick

ответ

0

У меня была аналогичная проблема. Но моя проблема заключалась в том, что я объявил глобальные переменные, которые в основном предотвратили запуск onOpen(e).

Я вижу, что вы не объявляете глобальные переменные в вашем примере кода.