Artículo relacionado con la programación web mediante Google Apps Script
Un tema recurrente que he trabajado en este blog es el hecho de crear webs con google apps script.
Os he explicado como hacer webs, logins, chats, webs dinamicas, y un largo etcétera pero nunca os he explicado un pequeño problema que podéis tener cuando queréis incrustar estas aplicaciones webs en otros sitios ( generalmente con un iframe ).... que no os funcionará :(.
El iframe es una funcionalidad que da HTML para poder incrustar webs dentro de webs, pero que en el caso de webs generadas con Google Apps Script se ha de ir con mucho cuidado y gestionarlo diferente de como estamos acostumbrados. Es muy normal tener problemas con este tema.
Así pues, que podemos hacer si tenemos problemas al hacer un iframe de nuestro Google Apps Script? Hace un tiempo, el equipo de Google solventó esto de una forma fácil aportando la funcionalidad de setXFrameOptionsMode. Resumiendo:
Teneis que cambiar este código antiguo:
function doGet() { return HtmlService.createHtmlOutputFromFile('index'); }
Por este código nuevo
function doGet() { return HtmlService.createTemplateFromFile('index') .evaluate() // El evaluate siempre debe estar antes del FrameOptions .setXFrameOptionsMode(HtmlService.XFrameOptionsMode.ALLOWALL); }
Volvéis a publicar la web y ya lo tendréis funcionando.
Solo un último apunte, no podéis hacer iframe de un código en desarrollo ( /dev) siempre tendréis que hacer iframe de versiones publicadas.
Espero que os haya servido.
No vaciléis en hacerme llegar vuestras dudas
Nos vemos
NOTA: Si te ha gustado este post tal vez también te interese este otro sobre templates web
hola, no me resulta, no logro quitar el molesto mensaje superior. Cambie la porcion de código que mencionas, pero nada...hay que hacer algo en el html tambien?
ResponderEliminarHola,
EliminarUna vez pones ese código has de hacer un iframe de la web resultante en otra web (un blog o un site por ejemplo). En el sitio donde hagas el iframe no verás el cartelito gris.
Recuerda que para hacer el iframe deberás publicar la web (usarla con el /dev no te servirá)
Cualquier duda, no vaciles en hacermela llegar
Nos vemos
Hola, sabes cuál extensión debo utilizar en el src: para traer un file de google drive?
EliminarHola Javier, disculpa, este comentario se me coló y lo acabo de ver ahora. No se a q te refieres, podrías explicarte un poco más? Nos vemos
EliminarHola, disculpa ya pude lograr incrustar mi script pero si veo la incrustacion enmi telefono me aparece un mensaje "Documento de google ha detectado un error" y no puedo ver el script mas que solo en la computadora, te agradeceria mucho tu respuesta
ResponderEliminarEs posible que no tengas permisos en el telefono?
Eliminar