

こんにちは

Googleスプレッドシートのアドオンを作成し、Google Workspace
Marketplaceに申請しましたが、何回やり取りしても、レビュアーからメニューが表示されないと拒否されてしまいます

具体的な指摘は下記

> Menu - Menu options not shown after App is installed. Please ensure  
>  that the add-on correctly uses onInstall() and onOpen() to populate  
>  its menu. The menu items populate when the add-on is first installed  
>  and when a different file is opened. See Editor add-on authorization.

私の環境下でエディターアドオンのデプロイテストをすると問題なく動作するため、何の問題かわからない状態が続いています

コードは下記です  
※必要のなさそうな関数の中身は省略しています

[code]

    function GlobalVar(userLocale){
      if(userLocale === null) userLocale = 'ja';
      return {
        TITLE: (userLocale == 'ja') ? 'こぴぺ' : 'Copipe', //アドオンのタイトル
        VERSION: '1.1.2', //アプリのバージョン
      }
    }
    
    
    function onInstall(e){
      onOpen(e);
    }
    
    
     function onOpen(e){
      var menu = SpreadsheetApp.getUi().createAddonMenu();
      var userLocale = Session.getActiveUserLocale(); //ユーザーが使用している言語判定
      if(userLocale != 'ja') userLocale = 'en'; //日本語以外の場合は英語表記にする
    
      var itemInfo = {
        Item1 : {func:'display_sidebar', ja: '操作パネル表示', en: 'Show Sidebar'},
        Item2 : {func:'dispVersion', ja: 'バージョン情報',en: 'about version'}
      };
      menu.addItem(itemInfo.Item1[userLocale],itemInfo.Item1.func)
        .addSeparator()
        .addItem(itemInfo.Item2[userLocale],itemInfo.Item2.func);  
    
      menu.addToUi(); //メニューを追加
    }
    
    
    
    function askEnabled(){
      let userLocale = Session.getActiveUserLocale();
      let title = GlobalVar(userLocale).TITLE;
      let msg = userLocale === 'ja' ? "スクリプトが有効になりました\nもう一度メニュー画面を開いてサイドバーを表示させてください" : "The script has been enabled.\nOpen the menu screen again to display the sidebar.";
      let ui = SpreadsheetApp.getUi();
      ui.alert(title, msg, ui.ButtonSet.OK);
      onOpen();
    };
    
    
    function display_sidebar(){
      let userLocale = Session.getActiveUserLocale(); //ユーザーが使用している言語判定
    
      let SidebarHTML = HtmlService.createTemplateFromFile('sidebar');
      SidebarHTML.LANGUAGE = userLocale; //サイドバーに言語情報を送る
      let Sidebar = SidebarHTML.evaluate().setTitle(GlobalVar(userLocale).TITLE);
      SpreadsheetApp.getUi().showSidebar(Sidebar); //サイドバーを表示 
    }
    
    
    function dispVersion(){
      let userLocale = Session.getActiveUserLocale(); //ユーザーが使用している言語判定
    
      Browser.msgBox(GlobalVar(userLocale).TITLE + " Version",'Version:  ' +GlobalVar(userLocale).VERSION,　Browser.Buttons.OK);
    }
    
    
    function toolTask(TASK_ORDER){
      return toolTaskRun().start(TASK_ORDER);
    }
    
    function toolTaskRun() {
      return {
        SPRED: null,
        SHEET: null,
        JOB: null,
        INFO: null,
        TAG_NAME: '_copipe_',
        
        init: function(){
          this.SPRED = SpreadsheetApp.getActiveSpreadsheet();
          this.SHEET = this.SPRED.getActiveSheet();
        },
        start: function(TASK_ORDER){
         
        },
        copy: function(){
          
        },
        paste: function(TAISHO){
          
        },
        moveRows: function(){
          
        },
        moveColumns: function(){
          
        },
        
        zettai: function(MODE){
          
        }
      };
    }
    
[/code]

マニフェストは下記

[code]

    {
      "timeZone": "Asia/Tokyo",
      "exceptionLogging": "STACKDRIVER",
      "runtimeVersion": "V8",
      "dependencies": {
        "libraries": [
          {
            "userSymbol": "SetNamedRange",
            "version": "0",
            "libraryId": "1M0tYhnFHYkxl0IXsDju8NWTvWHZWBY8H4-Z7eFOIKyi26p-Ymmtu7C7r",
            "developmentMode": true
          }
        ]
      },
      "oauthScopes": [
        "https://www.googleapis.com/auth/spreadsheets",
        "https://www.googleapis.com/auth/script.container.ui",
        "https://www.googleapis.com/auth/userinfo.email"
      ]
    }
    
[/code]

色々試しては申請していますが、毎回同じ拒否内容をうけます

どなたか分かる方いらっしゃれば教えてください

宜しくお願いします

※この内容は本家英語版でも質問しています  
<https://stackoverflow.com/questions/73397896/i-cannot-publish-editor-addon-
on-google-workspace-marketplace-menu-options-not>


CC BY-SA 4.0
2022-08-18T07:01:36.857
90609
2022-08-19T17:53:46.053
2022-08-19T02:05:25.673
54037
54037
question
google-apps-script google-workspace
Google Workspace Marketplace の審査が通らない 「Menu options not shown after App is installed」


英語版のstackoverflowにて回答があり  
解決しました  
<https://stackoverflow.com/a/73406949/19766029>

>   1. Change the development mode of your library to false
>     1. Assure that the Apps Script project holding your library has been
> deployed
>     2. Assure that the Apps Script project holding the add-on code is set to
> use version of you library
>   2. Assure that the library is shared with anyone having the link
>

和訳すると

>   1. ライブラリの開発モードをfalseに変更する
>     1. ライブラリを含むApps Scriptプロジェクトがデプロイされていることを確認します。
>     2. アドオンコードを含むApps Scriptプロジェクトが、使用するライブラリのバージョンに設定されていることを確認する。
>   2. リンクを持つ誰とでもライブラリーを共有できるようにすること
>

結果的に分かったことは、独自ライブラリを開発モードで読み込むと、テストでない環境ではライブラリはうまく組み込めないということのようです。

これで解決しました


CC BY-SA 4.0
2022-08-19T17:53:46.053
90638
2022-08-19T17:53:46.053
54037
90609
answer