javascript - example - Web App HTML, JS+Google Apps Script: ¿Cómo volver a mi aplicación después de regresar a GAS?
script developers (1)
Esta es la solución a su problema.
En lugar de usar return ContentService.createTextOutput(someOutput);
use HtmlService
para regresar a su formulario
return HtmlService.createHtmlOutputFromFile(''redirect'').setSandboxMode(HtmlService.SandboxMode.IFRAME);
Y su archivo HTML debería verse así,
Actualización: redirect.html
debe estar en el mismo proyecto que el archivo de script de la aplicación.
redirect.html
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<title>This Is A Sample Title</title>
<script>
function test()
{
window.location.href = "www.hostname.com";
}
</script>
</head>
<body onload="test()">
Login
</body>
</html>
Vea si esto funciona para usted.
Estoy construyendo una aplicación web usando HTML, CSS y JavaScript y usando Google Spreadsheet como una base de datos. Estoy planeando usar PhoneGap para convertir mi aplicación web en una aplicación real.
Pude leer desde mi hoja de cálculo de Google, utilizando la API de visualización de Google, ahora estoy trabajando sobre las opciones de escritura: utilicé una función establecida con Google Apps Script , dentro de la hoja de cálculo de Google y funciona correctamente.
Así es como funciona mi aplicación y lo que necesito:
- Consulto mi primera hoja de cálculo de Google (base de datos)
- Si no puedo encontrar lo que necesito, puedo hacer una solicitud
- Envío la solicitud: la acción del formulario envía mis datos al código de Google Apps Script
- El GAS escribe mis datos en una segunda hoja de cálculo de Google (Registrarse)
- El GAS debería enviarme de regreso a mi página
- La página envía un comentario en la pantalla
Como puede entender por el punto audaz, no puedo volver a mis páginas web ... No sé si hay algún método o función para hacer esto. Lo único que encontré fue usar ContentService
para hacer que la página "escriba otro formulario y lo envíe usando JavaScript", pero no creo que sea la mejor solución ...
Voy a publicar mi código aquí ... esperando que alguien me pueda ayudar
function doPost(e){
var sheet = SpreadsheetApp.openById("myID").getSheetByName(''SheetName'');
var column = 1;
var colArray = sheet.getRange(2, column, sheet.getLastRow()).getValues();
var maxi = Math.max.apply(Math, colArray);
var id = maxi+1;
var name = e.parameter[''name''];
var surname = e.parameter[''surname''];
var serial = e.parameter[''serial''];
var eMail = e.parameter[''mail''];
var text = e.parameter[''text''];
var area = e.parameter[''area''];
var date = new Date();
var ans = ""
var flag = "Work In Progress";
var vals = [id, date, name, surname, serial, eMail, area, text, ans, flag];
var sheetObj = sheet.appendRow(vals);
// return ContentService.createTextOutput(someOutput);
En la línea de retorno, debería volver a mi aplicación / aplicación web, pero no puedo encontrar la manera de hacerlo. ¿Alguien puede ayudarme o darme algún consejo?
¡Muchas gracias por tu ayuda!
S.