2017-08-28 21 views
0

中找不到自定義菜單和邊欄我試圖發佈帶有unlisted選項的Google附加組件:Only people with the link can see it。下面是代碼:Code.gs在發佈的附加組件

function myFun() { 
    return "myFunValue" 
} 

function onInstall() { 
    onOpen() 
} 

function onOpen() { 
    var html = HtmlService.createHtmlOutputFromFile('Index.html') //your html page name 
     .setTitle('My custom sidebar') 
     .setWidth(300); 

    SpreadsheetApp.getUi().createAddonMenu() 
     .addItem('Use in this spreadsheet', 'use') 
     .addToUi(); 

    SpreadsheetApp.getUi() // Or DocumentApp or FormApp. 
     .showSidebar(html); 
} 

function use() { 
    var title = 'Date Custom Functions'; 
    var message = 'Message of use'; 
    var ui = SpreadsheetApp.getUi(); 
    ui.alert(title, message, ui.ButtonSet.OK); 
} 

Index.html

<!DOCTYPE html> 
<html> 
    <head> 
    <base target="_top"> 
    </head> 
    <body> 
    super add-on, with custom function "=myFun()" and custom menu 
    </body> 
</html> 

這裏是鏈接:

https://chrome.google.com/webstore/detail/functionmenuside/bmojfiljhggogegocdkjdlaoohbkcmod?authuser=0

這個附加上自己的谷歌片作品。但是,發佈後,當我點擊+Free時,它會打開一個新的Google表格,我可以在Add-ons中找到FunctionMenuSide。自定義函數起作用,而沒有側邊欄,我們找不到自定義菜單Use in this spreadsheet。看來onOpen沒有執行。

有誰知道如何解決這個問題?

編輯1:,在控制檯中,有消息: 1739997376-ritz_waffle_integrated_i18n_ritzmaestro.js:105 Google Apps Script: You do not have permission to call createHtmlOutputFromFile

回答

0

您正在嘗試打開onOpen()函數中的側邊欄。由於簡單的觸發器適用於Google Apps腳本,因此這種方式無效。

取而代之,創建另一個功能,打開邊欄並將該功能添加爲附加菜單中的項目。然後,您的用戶可以從附加菜單中自行打開側邊欄。

+1

「由於簡單的觸發器適用於Google Apps腳本,因此這不起作用。」 ==>似乎有時側欄可以自動打開,有時候不會......爲什麼? – SoftTimur

+0

拍攝。那麼如果它是開放的,有時候我不知道該如何解釋。我正在查看的文檔是:https://developers.google.com/apps-script/guides/triggers/#onopen –