Web-Apps (original) (raw)

Wenn Sie eine Benutzeroberfläche für ein Script erstellen, können Sie es als Webanwendung veröffentlichen. Ein Script, mit dem Nutzer beispielsweise Termine mit Mitgliedern eines Supportteams vereinbaren können, sollte am besten als Webanwendung präsentiert werden, damit Nutzer direkt über ihren Browser darauf zugreifen können.

Sowohl eigenständige Scripts als auch Scripts, die an Google Workspace Anwendungen gebunden sind, können in Webanwendungen umgewandelt werden, sofern sie die folgenden Anforderungen erfüllen.

Anforderungen an Webanwendungen

Ein Script kann als Webanwendung veröffentlicht werden, wenn es die folgenden Anforderungen erfüllt:

Anfrageparameter

Wenn ein Nutzer eine App aufruft oder ein Programm eine HTTP-GET-Anfrage an die App sendet, führt Apps Script die Funktion doGet(e) aus. Wenn ein Programm der App eine HTTP-POST-Anfrage sendet, wird stattdessen doPost(e) in Apps Script ausgeführt. In beiden Fällen stellt das Argument e einen Ereignisparameter dar, der Informationen zu beliebigen Anfrageparametern enthalten kann. Die Struktur des Ereignisobjekts ist in der folgenden Tabelle dargestellt:

Felder
e.queryString Der Wert des Abfragestring-Teils der URL oder null, wenn kein Abfragestring angegeben ist 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 e.parameter ähnelt, aber für jeden Schlüssel ein Array von Werten enthält {"name": ["alice"], "n": ["1", "2"]}
e.pathInfo Der URL-Pfad nach /exec oder /dev. Wenn der URL-Pfad beispielsweise auf /exec/hello endet, lautet die Pfadinformation hello.
e.contextPath Wird nicht verwendet, immer der leere String.
e.contentLength Die Länge des Anfragetexts für POST-Anfragen oder -1 für GET-Anfragen 332
e.postData.length Identisch mit e.contentLength 332
e.postData.type Der MIME-Typ des POST-Texts text/csv
e.postData.contents Der Inhalt des POST-Textkörpers Alice,21
e.postData.name Immer der Wert „postData“ postData

Sie können beispielsweise Parameter wie username und age an eine URL übergeben, wie unten gezeigt:

https://script.google.com/.../exec?username=jsmith&age=21

Anschließend können Sie die Parameter so anzeigen:

function doGet(e) {
  var params = JSON.stringify(e);
  return ContentService.createTextOutput(params).setMimeType(ContentService.MimeType.JSON);
}

Im obigen Beispiel gibt doGet(e) folgende Ausgabe zurück:

{
  "queryString": "username=jsmith&age=21",
  "parameter": {
    "username": "jsmith",
    "age": "21"
  },
  "contextPath": "",
  "parameters": {
    "username": [
      "jsmith"
    ],
    "age": [
      "21"
    ]
  },
  "contentLength": -1
}

Script als Webanwendung bereitstellen

So stellen Sie ein Script als Webanwendung bereit:

  1. Klicken Sie rechts oben im Scriptprojekt auf Bereitstellen > Neue Bereitstellung.
  2. Klicken Sie neben „Typ auswählen“ auf „Bereitstellungstypen aktivieren“ > Web-App.
  3. Geben Sie die Informationen zu Ihrer Webanwendung in die Felder unter „Bereitstellungskonfiguration“ ein.
  4. Klicken Sie auf Bereitstellen.

Sie können die URL der Webanwendung mit den Personen teilen, die Ihre App verwenden sollen, sofern Sie ihnen Zugriff gewährt haben.

Webanwendungsbereitstellung testen

So testen Sie Ihr Script als Webanwendung:

  1. Klicken Sie rechts oben im Scriptprojekt auf Bereitstellen > Bereitstellungen testen.
  2. Klicken Sie neben „Typ auswählen“ auf „Bereitstellungstypen aktivieren“ > „Webanwendung“.
  3. Klicken Sie unter der URL der Webanwendung auf Kopieren.
  4. Fügen Sie die URL in Ihren Browser ein und testen Sie Ihre Webanwendung.
    Diese URL endet auf /dev und kann nur von Nutzern aufgerufen werden, die Bearbeitungszugriff auf das Script haben. In dieser Instanz der App wird immer der zuletzt gespeicherte Code ausgeführt. Sie ist nur für Tests während der Entwicklung vorgesehen.

Berechtigungen

Die Berechtigungen für eine Webanwendung unterscheiden sich je nachdem, wie Sie die App ausführen:

Web-App in Google Sites einbetten

Damit eine Webanwendung in Google Sites eingebettet werden kann, muss sie zuerst bereitgestellt werden. Außerdem benötigen Sie die Bereitgestellte URL aus dem Dialogfeld Deploy.

So betten Sie eine Webanwendung in eine Website ein:

  1. Öffnen Sie die Seite „Websites“, auf der Sie die Webanwendung hinzufügen möchten.
  2. Wählen Sie Einfügen > URL einbetten aus.
  3. Fügen Sie die URL der Webanwendung ein und klicken Sie auf HINZUFÜGEN.

Die Webanwendung wird in der Vorschau der Seite in einem Frame angezeigt. Wenn Sie die Seite veröffentlichen, müssen Ihre Websitebesucher die Webanwendung möglicherweise autorisieren, damit sie normal ausgeführt wird. Von nicht autorisierten Web-Apps werden Autorisierungsaufforderungen an den Nutzer gesendet.

Web-Apps und Browserverlauf

Es kann wünschenswert sein, dass eine Apps Script-Web-App eine mehrseitige Anwendung oder eine Anwendung mit einer dynamischen Benutzeroberfläche simuliert, die über URL-Parameter gesteuert wird. Dazu können Sie ein Statusobjekt definieren, das die Benutzeroberfläche oder Seite der App darstellt, und den Status in den Browserverlauf aufnehmen, während sich der Nutzer in Ihrer App bewegt. Sie können auch auf Verlaufsereignisse achten, damit Ihre Webanwendung die richtige Benutzeroberfläche anzeigt, wenn sich der Nutzer mit den Browserschaltflächen vor- und zurückbewegt. Wenn Sie die URL-Parameter zum Zeitpunkt des Ladens abfragen, kann die Benutzeroberfläche Ihrer App dynamisch auf Grundlage dieser Parameter erstellt werden. So kann der Nutzer die App in einem bestimmten Zustand starten.

Apps Script bietet zwei asynchrone clientseitige JavaScript APIs, die beim Erstellen von Webanwendungen helfen, die mit dem Browserverlauf verknüpft sind:

Diese Verlaufs-APIs sind nur für Webanwendungen verfügbar. Sie werden nicht für Seitenleisten, Dialogfelder oder Add-ons unterstützt. Diese Funktion wird auch nicht für die Verwendung in in Google Sites eingebetteten Webanwendungen empfohlen.