Si compilas una interfaz de usuario para una secuencia de comandos, puedes publicarla como aplicación web. Por ejemplo, una secuencia de comandos que permita a los usuarios programar citas con los miembros de un equipo de asistencia se presentarían mejor como una aplicación web para que los usuarios pueden acceder a él directamente desde sus navegadores.
Tanto las secuencias de comandos independientes como secuencias de comandos vinculadas a Google Workspace aplicaciones puede convertirse en aplicaciones web, siempre que cumplan con los requisitos que se mencionan a continuación.
Requisitos para apps web
Una secuencia de comandos se puede publicar como una aplicación web si cumple con estos requisitos:
- Contiene una función
doGet(e)
odoPost(e)
. - La función muestra un servicio HTML
HtmlOutput
o un Servicio de contenidoTextOutput
.
parámetros de solicitud
Cuando un usuario visita una app, o un programa envía a esta una solicitud GET
HTTP,
Apps Script ejecuta la función doGet(e)
. Cuando un programa envía a la app una solicitud HTTP
POST
, Apps Script ejecuta doPost(e)
en su lugar. En ambos casos, e
representa un parámetro de evento que puede contener información sobre cualquier
los parámetros de solicitud. La estructura del objeto de evento se muestra en la tabla.
a continuación:
Campos | |
---|---|
e.queryString |
El valor de la parte de la cadena de consulta de la URL, o name=alice&n=1&n=2 |
e.parameter |
Un objeto de pares clave-valor que corresponden a los parámetros de solicitud. Solo se muestra el primer valor para los parámetros que tienen varios valores. {"name": "alice", "n": "1"} |
e.parameters |
Un objeto similar a {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
La ruta de URL después de |
e.contextPath |
No se usa. Siempre se trata de la cadena vacía. |
e.contentLength |
La longitud del cuerpo de la solicitud para las solicitudes POST o 332 |
e.postData.length |
Es igual a 332 |
e.postData.type |
El tipo de MIME del cuerpo de POST text/csv |
e.postData.contents |
El texto del contenido del cuerpo de POST Alice,21 |
e.postData.name |
Siempre debe tener el valor "postData". postData |
Por ejemplo, puedes pasar parámetros como username
y age
.
a una URL, como se muestra a continuación:
https://script.google.com/.../exec?username=jsmith&age=21
Luego, puedes mostrar los parámetros de la siguiente manera:
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
En el ejemplo anterior, doGet(e)
muestra el siguiente resultado:
{
"queryString": "username=jsmith&age=21",
"parameter": {
"username": "jsmith",
"age": "21"
},
"contextPath": "",
"parameters": {
"username": [
"jsmith"
],
"age": [
"21"
]
},
"contentLength": -1
}
Implementa una secuencia de comandos como una app web
Para implementar una secuencia de comandos como una aplicación web, sigue estos pasos:
- En la esquina superior derecha del proyecto de secuencia de comandos, haz clic en Implementar > Implementación nueva.
- Junto a "Seleccionar tipo", haz clic en Habilitar tipos de implementaciones Aplicación web.
- Ingresa la información sobre tu app web en los campos de “Implementación” configuración”.
- Haz clic en Implementar.
Puedes compartir la URL de la app web con aquellas personas que quieres que usen tu app, siempre y cuando les otorgues acceso.
Prueba una implementación de app web
Para probar tu secuencia de comandos como una aplicación web, sigue estos pasos:
- En la esquina superior derecha del proyecto de secuencia de comandos, haz clic en Implementar > Realiza pruebas Deployment.
- Junto a "Seleccionar tipo", haz clic en Habilitar tipos de implementaciones > Aplicación web.
- Debajo de la URL de la app web, haz clic en Copiar.
Pega la URL en tu navegador y prueba tu app web.
Esta URL termina en
/dev
, y solo los usuarios con acceso de edición pueden acceder a ella al guion. Esta instancia de la app siempre ejecuta la última vez que se guardó código y está diseñado únicamente para realizar pruebas durante el desarrollo.
Permisos
Los permisos de una app web difieren según cómo elijas ejecutarla la aplicación:
- Ejecutar la app como yo: En este caso, la secuencia de comandos siempre se ejecuta. como tú, el propietario de la secuencia de comandos, sin importar quién acceda a la aplicación web.
- Ejecuta la app como un usuario que accede a la app web: en este caso, la secuencia de comandos se ejecuta con la identidad del usuario activo que usa la app web. Este permiso enfoque hace que la aplicación web muestre el correo electrónico del propietario de la secuencia de comandos cuando el usuario autoriza el acceso.
Incorpore su aplicación web en Google Sites
Para incorporar una app web en Google Sites, primero se debe
implementado. También
necesitas la URL implementada del diálogo Deploy
.
Para incorporar una aplicación web a Sites, haz lo siguiente: sigue estos pasos:
- Abre la página Sitios en la que deseas agregar la aplicación web.
- Selecciona Insertar > Incorporar URL
- Pega la URL de la aplicación web y, luego, haz clic en AGREGAR.
La aplicación web aparece en un marco en la vista previa de la página. Cuándo publicas la página, es posible que los visitantes de tu sitio deban autorizar la aplicación web antes de que se ejecuta normalmente. Las aplicaciones web no autorizadas presentan solicitudes de autorización a del usuario.
Historial del navegador y aplicaciones web
Puede ser conveniente que una aplicación web de Apps Script simule una secuencia de comandos o una con una IU dinámica controlada por medio de parámetros de URL. Para hacerlo bien, puedes definir un objeto de estado que represente el comportamiento IU o página y envía el estado al historial de navegación como el usuario navega por tu aplicación. También puedes escuchar los eventos del historial para que tu app muestra la IU correcta cuando el usuario navega hacia adelante y hacia atrás con el en los botones del navegador. Si consultas los parámetros de URL en el momento de la carga, podrás tener La app compila su IU de forma dinámica en función de esos parámetros, lo que le permite al usuario iniciar la aplicación en un estado particular.
Apps Script proporciona dos APIs de JavaScript del lado del cliente asíncronas para brindar asistencia para crear aplicaciones web vinculadas al historial de navegación:
google.script.history
proporciona métodos para permitir una respuesta dinámica a los cambios del historial del navegador. Esta incluye: enviar estados (objetos simples que puedes definir) al navegador del historial, reemplazar el estado superior en la pila del historial y configurar un objeto de escucha para responder a los cambios del historial.google.script.url
proporciona el medio para recuperar los parámetros y el fragmento de URL de la página actual, si cuando están presentes.
Estas APIs de historial solo están disponibles para las apps web. No son compatible con barras laterales, diálogos o complementos. Esta funcionalidad también es no se recomienda su uso en aplicaciones web incorporadas en Google Sites.