App web

Se crei un'interfaccia utente per uno script, puoi pubblicarlo come dell'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:

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 null se non viene specificata alcuna stringa di query.

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 e.parameter, ma con un array di valori per ogni chiave

{"name": ["alice"], "n": ["1", "2"]}
e.pathInfo

Il percorso dell'URL dopo /exec o /dev. Ad esempio, se il percorso dell'URL termina con /exec/hello, la macro le informazioni sul percorso sono hello.

e.contextPath Non utilizzato, sempre la stringa vuota.
e.contentLength

La lunghezza del corpo della richiesta per le richieste POST o -1 per le richieste GET

332
e.postData.length

Uguale a e.contentLength

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:

  1. In alto a destra nel progetto dello script, fai clic su Esegui il deployment > Nuovo deployment.
  2. Accanto a "Seleziona tipo", fai clic su Abilita tipi di deployment > App web.
  3. Inserisci le informazioni sull'app web nei campi in "Deployment configurazione".
  4. 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:

  1. In alto a destra nel progetto dello script, fai clic su Esegui il deployment > Testa deployment.
  2. Accanto a "Seleziona tipo", fai clic su Abilita tipi di deployment > App web.
  3. Nell'URL dell'app web, fai clic su Copia.
  4. 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:

  1. Apri la pagina Siti in cui vuoi aggiungere l'app web.
  2. Seleziona Inserisci > Incorpora URL.
  3. 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.