Wenn Sie eine Benutzeroberfläche für ein Skript erstellen, können Sie das Skript als Web-App. Ein Skript, mit dem Nutzer Termine mit sollten die Mitglieder eines Supportteams am besten als Web-App präsentiert werden, -Nutzer können direkt über ihren Browser darauf zugreifen.
Sowohl eigenständige Skripts als auch an Anwendungen Google Workspace gebundene Skripts können in Web-Apps zu erstellen, sofern sie die folgenden Anforderungen erfüllen.
Anforderungen für Web-Apps
Ein Skript kann als Web-App veröffentlicht werden, wenn es die folgenden Anforderungen erfüllt:
- Sie enthält eine
doGet(e)
- oderdoPost(e)
-Funktion. - Die Funktion gibt einen HTML-Dienst zurück.
HtmlOutput
-Objekt oder ein InhaltsdienstTextOutput
-Objekt.
Anfrageparameter
Wenn ein Nutzer eine App aufruft oder von einem Programm eine HTTP-GET
-Anfrage an die App sendet,
Apps Script führt die Funktion doGet(e)
aus. Wenn ein Programm eine HTTP-Anfrage an die App sendet
POST
-Anfrage, Apps Script führt stattdessen doPost(e)
aus. In beiden Fällen wird die e
-Argument steht für einen Ereignisparameter, der Informationen zu beliebigen
Anforderungsparameter. Die Struktur des Ereignisobjekts wird in der Tabelle dargestellt.
unten:
Felder | |
---|---|
e.queryString |
Der Wert des Abfragestringteils der URL oder name=alice&n=1&n=2 |
e.parameter |
Ein Objekt mit Schlüssel/Wert-Paaren, die den Anfrageparametern entsprechen. Bei Parametern mit mehreren Werten wird nur der erste Wert zurückgegeben. {"name": "alice", "n": "1"} |
e.parameters |
Ein Objekt, das {"name": ["alice"], "n": ["1", "2"]} |
e.pathInfo |
Der URL-Pfad nach |
e.contextPath |
Wird nicht verwendet, immer ein leerer String. |
e.contentLength |
Die Länge des Anfragetexts für POST-Anfragen oder 332 |
e.postData.length |
Identisch mit 332 |
e.postData.type |
Der MIME-Typ des POST-Hauptteils text/csv |
e.postData.contents |
Der Inhaltstext des POST-Hauptteils Alice,21 |
e.postData.name |
Immer der Wert „postData“ postData |
Sie können beispielsweise Parameter wie username
und age
übergeben.
in eine URL einfügen:
https://script.google.com/.../exec?username=jsmith&age=21
Anschließend können Sie die Parameter wie folgt anzeigen:
function doGet(e) {
var params = JSON.stringify(e);
return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}
Im obigen Beispiel gibt doGet(e)
die folgende Ausgabe zurück:
{
"queryString": "username=jsmith&age=21",
"parameter": {
"username": "jsmith",
"age": "21"
},
"contextPath": "",
"parameters": {
"username": [
"jsmith"
],
"age": [
"21"
]
},
"contentLength": -1
}
Skript als Webanwendung bereitstellen
So stellen Sie ein Skript als Webanwendung bereit:
- Klicken Sie rechts oben im Skriptprojekt auf Bereitstellen > Neue Bereitstellung.
- Klicken Sie neben „Typ auswählen“ klicken Sie auf „Bereitstellungstypen aktivieren“ > Web-App:
- Geben Sie die Informationen zu Ihrer Webanwendung in die Felder unter „Bereitstellung Konfiguration.“
- Klicken Sie auf Bereitstellen.
Sie können die URL der Web-App mit Personen teilen, die Ihre App verwenden möchten, vorausgesetzt, Sie haben ihnen Zugriff gewährt.
Bereitstellung von Webanwendungen testen
So testen Sie Ihr Skript als Web-App:
- Klicken Sie rechts oben im Skriptprojekt auf Bereitstellen > Testen Bereitstellungen.
- Klicken Sie neben „Typ auswählen“ klicken Sie auf „Bereitstellungstypen aktivieren“ > Web-App.
- Klicken Sie unter der Web-App-URL auf Kopieren.
Fügen Sie die URL in Ihren Browser ein und testen Sie Ihre Webanwendung.
Diese URL endet auf
/dev
und kann nur von Nutzern mit Bearbeitungszugriff aufgerufen werden an das Skript übergeben. Diese Instanz der App führt immer die zuletzt gespeicherte Version aus. und ist nur für Tests während der Entwicklung vorgesehen.
Berechtigungen
Die Berechtigungen für eine Web-App unterscheiden sich je nach Ausführungsart der App:
- App in meinem Namen ausführen: In diesem Fall führt das Skript immer aus. Sie als Eigentümer des Skripts, unabhängig davon, wer auf die Webanwendung zugreift.
- App als Nutzer ausführen, der auf die Web-App zugreift – in diesem Fall das Skript wird unter der Identität des aktiven Nutzers ausgeführt, der die Webanwendung verwendet. Diese Berechtigung zeigt die Webanwendung die E-Mail-Adresse des Skripteigentümers an, autorisiert den Zugriff.
Webanwendung in Google Sites einbetten
Um eine Webanwendung in Google Sites einzubetten, muss sie zunächst
bereitgestellt ist. Außerdem
Sie benötigen die bereitgestellte URL aus dem Dialogfeld Deploy
.
So betten Sie eine Webanwendung in Google Sites ein: führen Sie die folgenden Schritte aus:
- Öffnen Sie die Google Sites-Seite, auf der Sie die Web-App hinzufügen möchten.
- Wählen Sie Einfügen > URL einbetten:
- Fügen Sie die URL der Webanwendung ein und klicken Sie dann auf HINZUFÜGEN.
Die Web-App wird in der Vorschau der Seite in einem Frame angezeigt. Zeitpunkt der Veröffentlichung müssen die Besucher der Website die Web-App möglicherweise autorisieren, normal ausgeführt wird. Nicht autorisierte Web-Apps senden Autorisierungsanfragen an Nutzenden.
Web-Apps und Browserverlauf
Es kann wünschenswert sein, eine mehrseitige Web-App mit Apps Script zu simulieren oder mit einer dynamischen, über URL-Parameter gesteuerten UI. Um dies gut zu erreichen, können Sie ein state-Objekt definieren, das das Benutzeroberfläche oder Seite und übertragen Sie den Status als wie Nutzende durch Ihre App navigieren. Sie können auch Verlaufsereignisse überwachen, damit Ihr Web die richtige Benutzeroberfläche anzeigt, wenn Nutzende mit der Browserschaltflächen. Durch die Abfrage der URL-Parameter bei der Ladezeit basierend auf diesen Parametern dynamisch ihre Benutzeroberfläche erstellen, die App in einem bestimmten Zustand starten.
Apps Script bietet zwei asynchrone, clientseitige JavaScript-APIs, Web-Apps erstellen, die mit dem Browserverlauf verknüpft sind:
google.script.history
stellt Methoden zur Verfügung, die eine dynamische Reaktion auf Änderungen am Browserverlauf ermöglichen. Dieses Umfasst das Übertragen von Status (einfache Objekte, die Sie definieren können) an den Browser Verlauf, wobei der oberste Status im Verlaufsstapel ersetzt und ein Listener festgelegt wird verwenden, um auf Verlaufsänderungen zu reagieren.google.script.url
bietet die Methode zum Abrufen der URL-Parameter und des URL-Fragments der aktuellen Seite, wenn wenn sie präsent sind.
Diese Verlaufs-APIs sind nur für Web-Apps verfügbar. Sie sind nicht Seitenleisten, Dialogfeldern oder Add-ons unterstützt. Diese Funktion ist auch nicht empfohlen für Web-Apps, die in eine Google Sites-Website eingebettet sind.