sheets scripts script hoja google docs developer calculo apps app google-apps-script google-spreadsheet google-spreadsheet-api

google apps script - scripts - Extienda la interfaz de usuario de hojas de cálculo de Google con una aplicación web de Google



sheets excel (1)

Cuando implementa el script como una aplicación web, los usuarios de la aplicación web solo verán el contenido que "devuelve" desde la función doGet. Puede crear contenido utilizando UiApp o HtmlService y devolver este contenido para que se represente en un navegador. Los nuevos elementos del menú se adjuntan a una hoja de cálculo, por lo que solo se pueden mostrar cuando el usuario va a la hoja de cálculo en sí (activando el desencadenador onOpen, etc.).

Creé un script para Google Spreadsheets, este script simplemente agrega un nuevo elemento de menú como se describe aquí Elementos del menú personalizado en una hoja de cálculo . Luego despliego este script como una aplicación web y quiero que todos los usuarios que instalen la aplicación puedan ver el nuevo elemento del menú. Y estoy atascado en este punto.

Según entiendo, cuando despliega un script como una aplicación web, las funciones onOpen pierden su significado. Así que, dentro de doGet, creo el disparador personalizado para el evento onOpen, adjunto el controlador myOnOpen y dentro de myOnOpen agrego un elemento del menú, pero el elemento no aparece.

Aquí está mi código:

function doGet() { var newSheet = SpreadsheetApp.create("new sheet"); var newId = newSheet.getId(); ScriptProperties.setProperty(''newId'', newId); ScriptApp.newTrigger("myOnOpen") .forSpreadsheet(newId) .onOpen() .create(); }; function myOnOpen() { var newId = ScriptProperties.getProperty(''newId''); var sheet = SpreadsheetApp.openById(newId); var entries = [ { name : "Show bingo", functionName : "Bingo" } ]; sheet.addMenu("My Menu", entries); }; function Bingo() { Browser.msgBox("Bingo!"); };

Entonces, cuando un usuario que instaló la aplicación abre una hoja de cálculo de "hoja nueva", no ve el "Mi menú". ¿Qué estoy haciendo mal aquí? ¿Por qué el elemento del menú no aparece? Al final del día, quiero crear una aplicación web que amplíe la interfaz de usuario de Google Spreadsheets con menús y diálogos adicionales.

Cualquier consejo es bienvenido ¡Gracias!