Se crei un'interfaccia utente per uno script, puoi pubblicarlo come nell'app web di Google. Ad esempio, uno script che consente agli utenti di pianificare appuntamenti con i membri di un team di assistenza sarebbero meglio presentati come un'app web gli utenti possono accedervi direttamente dai loro browser.
Sia gli script autonomi che script associati ad Google Workspace applicazioni possono essere trasformati in web, purché soddisfino i requisiti riportati di seguito.
Requisiti per le app web
Uno script può essere pubblicato come app web se soddisfa i seguenti requisiti:
- Contiene una funzione
doGet(e)
odoPost(e)
. - La funzione restituisce un servizio HTML
HtmlOutput
o un oggetto Servizio di contenutiTextOutput
.
Parametri di richiesta
Quando un utente visita un'app o un programma, invia all'app una richiesta GET
HTTP,
Apps Script esegue la funzione doGet(e)
. Quando un programma invia all'app una richiesta HTTP
richiesta POST
, Apps Script esegue invece doPost(e)
. In entrambi i casi, e
rappresenta un parametro evento che può contenere informazioni su qualsiasi
parametri della richiesta. La struttura dell'oggetto evento è mostrata nella tabella
sotto:
Campi | |
---|---|
e.queryString |
Il valore della porzione di stringa di query dell'URL o name=alice&n=1&n=2 |
e.parameter |
Un oggetto di coppie chiave/valore che corrispondono ai parametri della richiesta. Per i parametri con più valori viene restituito solo il primo valore. {"name": "alice", "n": "1"} |
e.parameters |
Un oggetto simile a {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
Il percorso dell'URL dopo |
e.contextPath |
Non utilizzato, sempre la stringa vuota. |
e.contentLength |
La lunghezza del corpo della richiesta per le richieste POST o 332 |
e.postData.length |
Uguale a 332 |
e.postData.type |
Il tipo MIME del corpo POST text/csv |
e.postData.contents |
Il testo dei contenuti del corpo del POST Alice,21 |
e.postData.name |
Sempre il valore "postData" postData |
Ad esempio, puoi trasmettere parametri come username
e age
a un URL come mostrato di seguito:
https://script.google.com/.../exec?username=jsmith&age=21
Successivamente, puoi visualizzare i parametri in questo modo:
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
Nell'esempio precedente, doGet(e)
restituisce il seguente output:
{
"queryString": "username=jsmith&age=21",
"parameter": {
"username": "jsmith",
"age": "21"
},
"contextPath": "",
"parameters": {
"username": [
"jsmith"
],
"age": [
"21"
]
},
"contentLength": -1
}
Esegui il deployment di uno script come app web
Per eseguire il deployment di uno script come app web, segui questi passaggi:
- In alto a destra nel progetto dello script, fai clic su Esegui il deployment > Nuovo deployment.
- Accanto a "Seleziona tipo", fai clic su Abilita tipi di deployment > App web.
- Inserisci le informazioni sull'app web nei campi in "Deployment configurazione".
- Fai clic su Esegui il deployment.
Puoi condividere l'URL dell'app web con gli utenti che vuoi utilizzare a condizione che tu abbia concesso loro l'accesso.
Testare il deployment di un'app web
Per testare lo script come app web, segui questi passaggi:
- In alto a destra nel progetto dello script, fai clic su Esegui il deployment > Testa deployment.
- Accanto a "Seleziona tipo", fai clic su Abilita tipi di deployment > App web.
- Nell'URL dell'app web, fai clic su Copia.
Incolla l'URL nel browser e testa l'app web.
Questo URL termina con
/dev
ed è accessibile solo agli utenti che dispongono dell'accesso in modifica allo script. Questa istanza dell'app esegue sempre l'ultima istanza salvata ed è inteso solo per essere testato durante lo sviluppo.
Autorizzazioni
Le autorizzazioni per un'app web variano a seconda di come decidi di eseguire l'app:
- Esegui l'app come me: in questo caso, lo script viene sempre eseguito. in qualità di proprietario dello script, indipendentemente da chi accede all'app web.
- Eseguire l'app come utente che accede all'app web: in questo caso, lo script viene eseguito con l'identità dell'utente attivo che utilizza l'app web. Questa autorizzazione fa sì che l'app web mostri l'email del proprietario dello script quando l'utente autorizza l'accesso.
Incorpora la tua app web in Google Sites
Per incorporare un'app web in Google Sites, è necessario innanzitutto
distribuito. Inoltre
è necessario l'URL implementato dalla finestra di dialogo Deploy
.
Per incorporare un'app web in un account Sites procedi nel seguente modo:
- Apri la pagina Siti in cui vuoi aggiungere l'app web.
- Seleziona Inserisci > Incorpora URL.
- Incolla l'URL dell'app web e fai clic su AGGIUNGI.
L'app web viene visualizzata in un frame nell'anteprima della pagina. Quando pubblichi pagina, è possibile che i visitatori del sito debbano prima autorizzare l'app web funziona normalmente. Le app web non autorizzate presentano richieste di autorizzazione a per l'utente.
App web e cronologia del browser
Può essere auspicabile che un'app web Apps Script simuli un modello di applicazione o con un'interfaccia utente dinamica controllata tramite parametri URL. Per farlo correttamente, puoi definire un oggetto di stato che rappresenti UI o pagina e invia lo stato alla cronologia del browser come mentre l'utente naviga nell'app. Puoi anche ascoltare gli eventi della cronologia in modo che il tuo visualizza l'UI corretta quando l'utente va avanti e indietro usando il pulsanti del browser. Eseguendo una query sui parametri URL al momento del caricamento, puoi ottenere di sviluppo dinamico dell'interfaccia utente in base a questi parametri, consentendo all'utente avviare l'app in un determinato stato.
Apps Script fornisce due API JavaScript lato client asincrone per fornire assistenza con la creazione di app web collegate alla cronologia del browser:
google.script.history
fornisce metodi per consentire una risposta dinamica alle modifiche della cronologia del browser. Questo include: push degli stati (oggetti semplici che puoi definire) nel browser cronologia, sostituendo lo stato principale nello stack della cronologia e impostando un listener funzione di callback per rispondere alle modifiche della cronologia.google.script.url
fornisce consente di recuperare i parametri e il frammento di URL della pagina corrente, se sono presenti.
Queste API della cronologia sono disponibili solo per le app web. Non sono supportato per barre laterali, finestre di dialogo o componenti aggiuntivi. Questa funzionalità l'utilizzo non è consigliato app web incorporate in un sito Google Sites.