tutorial script guide google example ejemplos apps app google-apps-script deploying

google-apps-script - guide - google apps script tutorial



ImplementaciĆ³n de Google Apps Script enlazado a contenedor como aplicaciĆ³n web (2)

La respuesta está en su pregunta: la función principal de su secuencia de comandos (la que crea la interfaz de usuario) debe llamarse doGet() (este es el punto de entrada convencional de cualquier aplicación de Internet GAS, la función a la que llama implícitamente al abrir la url de la aplicación web) ) ... pero me temo que esto no resolverá tu problema ...

Incluso si no sé qué hay en tu script y cómo lo escribiste, supongo que se refiere al documento en el que lo vinculó como el "documento activo" y ese será probablemente el tema más importante ya que una aplicación web no tiene documento adjunto.

Además de eso, ¿cómo funcionaría un corrector ortográfico como una aplicación independiente? ¿Podría explicar más claramente lo que quiere hacer?

Estoy creando un corrector ortográfico utilizando la API de Google Docs en un script de aplicaciones (solo un script que amplía la funcionalidad de un documento de Google Docs), y quiero que este servicio esté disponible para los usuarios que lo descarguen como una aplicación web. El problema es que cuando hice mi script (enlazado al contenedor) en el editor de scripts, solo está disponible en el Documento de Google a través del cual lo creé, es decir, si abro un nuevo documento, no puedo usar el script.

Si "Impleto como aplicación web", lo pongo a disposición de todos y pego la URL dada, recibo un mensaje de error que dice que el script necesita una función llamada doGet (), que no está en mi script.

¿Cómo voy a publicar mi script como una aplicación web normal?


Procedería a crear dos scripts: la funcionalidad principal se implementaría como una aplicación web y un script simple vinculado a un contenedor ofrecería una interfaz para llamar a la aplicación web.

Dado que la aplicación web no está vinculada a un documento, es posible que desee seguir este esquema:

function doGet(e){ if(e.parameter.docId){ doStuff(DocumentApp.openById(e.parameter.docId)); } }

Ahora, cuando implemente la aplicación, obtendrá un enlace que le da acceso a la funcionalidad.

Desde el script enlazado al contenedor puede agregar alguna UI (por ejemplo, un elemento Anchor en un panel lateral) que enlace a la aplicación web con los parámetros apropiados

ScriptApp.getService().getUrl() + "?docId=" + DocumentApp.getActiveDocument().getId()

o use UrlFetchApp para obtener los resultados y mostrarlos en la IU.

Desafortunadamente, esto no es lo mismo que agregar la funcionalidad en todos sus documentos de forma automática, sino más bien una forma de instalar solo un gancho relativamente liviano en cada documento donde desee agregar la funcionalidad, en lugar del guión completo. No conozco ningún método que pueda lograr eso. Tenga en cuenta que cuando realiza una copia de un documento, la copia contendrá todos sus scripts para que pueda crear una plantilla para los documentos que necesitan la funcionalidad adicional. Sin embargo, esto puede ser incómodo si deseas mezclar y combinar múltiples scripts.

La ventaja de mi método es que si modifica la funcionalidad principal, el cambio estará inmediatamente disponible para todos sus documentos que lo utilicen, sin necesidad de actualizar sus scripts. Por otro lado, si el script de contenedor necesita interactuar fuertemente con la interfaz de usuario, puede complicarse y reducir la utilidad de separarlo en dos scripts.