Mithilfe von Triggern kann Apps Script eine Funktion automatisch ausführen, wenn ein bestimmtes Ereignis,
wie das Öffnen eines Dokuments. Einfache Trigger sind eine Gruppe von
reservierten Funktionen, die in Apps Script integriert sind, wie z. B. die Funktion onOpen(e)
,
Sie wird ausgeführt, wenn ein Nutzer eine Datei aus Google Docs, Google Tabellen, Google Präsentationen oder Google Formulare öffnet.
Installierbare Trigger bieten mehr
als einfache Trigger, müssen jedoch vor der Verwendung aktiviert werden. Für beide
Trigger-Typen gibt Apps Script die ausgelöste Funktion an
Ereignisobjekt, das Informationen enthält
in dem das Ereignis aufgetreten ist.
Erste Schritte
Um einen einfachen Trigger zu verwenden, erstellen Sie einfach eine Funktion, die einen dieser reservierte Funktionsnamen:
onOpen(e)
wird ausgeführt, wenn ein Nutzer eine Tabelle, ein Dokument, eine Präsentation das der Nutzer bearbeiten darf.onInstall(e)
wird ausgeführt, wenn ein Nutzer ein Editor-Add-on direkt von der Google Docs, Google Tabellen, Google Präsentationen oder Google Formulare.onEdit(e)
wird ausgeführt, wenn ein Nutzer einen Wert in einer Tabelle ändert.onSelectionChange(e)
wird ausgeführt, wenn ein Nutzer die Auswahl in einer Tabelle ändert.doGet(e)
wird ausgeführt, wenn ein Nutzer eine Web-App besucht oder ein Programm sendet eine HTTP-GET
-Anfrage an eine Web-App.doPost(e)
wird ausgeführt, wenn ein Programm eine HTTP-POST
-Anfrage an eine Webanwendung sendet.
Der e
-Parameter in den Funktionsnamen oben ist ein
Ereignisobjekt, das an den
. Das -Objekt enthält Informationen über den Kontext, der den Fehler verursacht hat.
ausgelöst werden soll. Die Verwendung dieses Triggers ist jedoch optional.
Einschränkungen
Da einfache Trigger automatisch ausgelöst werden, ohne dass der Nutzer danach gefragt wird unterliegen mehreren Einschränkungen:
- Das Skript muss an ein Google-Konto gebunden sein. Google Tabellen-, Google Präsentationen-, Google Docs- oder Google Formulare-Dateien bzw. Add-on, das eine von für diese Anwendungen.
- Sie werden nicht ausgeführt, wenn eine Datei im Lese- oder Kommentarmodus geöffnet wird.
- Skriptausführungen und API-Anfragen führen nicht zum Ausführen von Triggern. Beispiel:
Range.setValue()
wird angerufen zum Bearbeiten einer Zelle führt nicht dazu, dass deronEdit
-Trigger der Tabelle ausgeführt wird. - Sie können nicht auf Dienste zugreifen, die Folgendes erfordern: Autorisierung. Beispiel: kann ein einfacher Trigger keine E-Mail senden, Der Gmail-Dienst erfordert eine Autorisierung, aber kann ein einfacher Trigger eine Phrase mit der Sprachdienst (anonym).
- Er kann die Datei ändern, an die er gebunden ist, aber keinen Zugriff auf andere Dateien. da dies eine Autorisierung erfordert.
- Sie sind in der Lage, die Identität des aktuellen Nutzers zu ermitteln, abhängig von komplexe Sicherheitsbeschränkungen.
- Sie dürfen nicht länger als 30 Sekunden laufen.
- Unter bestimmten Umständen
Editor-Add-ons führen das
onOpen(e)
aus. undonEdit(e)
einfache Trigger in einem Modus ohne Autorisierung, der einige zusätzliche Komplikationen. Weitere Informationen finden Sie in der Leitfaden zum Autorisierungslebenszyklus des Add-ons. - Einfache Trigger unterliegen einem Apps Script-Trigger die Kontingentlimits.
Diese Einschränkungen gelten nicht für doGet(e)
oder doPost(e)
.
onOpen(e)
Der Trigger onOpen(e)
wird automatisch ausgeführt, wenn ein Nutzer eine Tabelle öffnet.
Dokumente, Präsentationen oder Formulare, für die sie Bearbeitungsrechte haben. Der Parameter
wird der Trigger nicht ausgeführt, wenn Sie ein Formular ausfüllen, sondern nur, wenn das Formular für
bearbeiten.) onOpen(e)
wird am häufigsten verwendet, um benutzerdefinierte
Menüpunkte auf Google Tabellen, Google Präsentationen, Google Docs oder
Formulare:
onInstall(e)
Der Trigger onInstall(e)
wird automatisch ausgeführt, wenn ein Nutzer ein
Editor-Add-on direkt von der
Google Docs, Google Tabellen, Google Präsentationen oder Google Formulare. Der Trigger wird nicht ausgeführt,
installiert das Add-on über die
Google Workspace Marketplace
Website. Beachten Sie, dass
Es gibt bestimmte Einschränkungen im Hinblick auf die Möglichkeiten von onInstall(e)
. Weitere Informationen zu
Autorisierung.
Am häufigsten wird onInstall(e)
verwendet, indem einfach onOpen(e)
aufgerufen wird, um
benutzerdefinierten Menüs. Denn wenn ein Add-on installiert ist,
ist die Datei bereits geöffnet.
Daher wird onOpen(e)
nicht automatisch ausgeführt, es sei denn, die Datei wird wieder geöffnet.
onEdit(e)
Der Trigger onEdit(e)
wird automatisch ausgeführt, wenn ein Nutzer einen beliebigen Wert ändert.
Zelle in einer Tabellenkalkulation. Für die meisten onEdit(e)
-Trigger werden die Informationen im
event-Objekt, um entsprechend zu reagieren.
Beispielsweise legt die Funktion onEdit(e)
unten einen Kommentar für die Zelle fest, die
erfasst den Zeitpunkt der letzten Bearbeitung.
onSelectionChange(e)
Der Trigger onSelectionChange(e)
wird automatisch ausgeführt, wenn ein Nutzer die
Auswahl in einer Tabelle. Zum Aktivieren dieses Triggers müssen Sie den
nach dem Hinzufügen des Triggers
und jedes Mal, wenn die Tabelle geöffnet wird.
Wenn die Auswahl innerhalb kurzer Zeit zwischen mehreren Zellen verschoben wird, wird eine Auswahl
Änderungsereignisse übersprungen, um die Latenz zu verringern. Wenn z. B. viele Auswahlmöglichkeiten
Änderungen werden innerhalb von zwei Sekunden ausgeführt, wobei nur die erste und die letzte
Durch Änderungen an der Auswahl wird der Trigger onSelectionChange(e)
aktiviert.
Im Beispiel unten
Bei Auswahl einer leeren Zelle legt die onSelectionChange(e)
-Funktion den
um den Hintergrund rot zu markieren.
doGet(e)
und doPost(e)
Der Trigger doGet(e)
wird automatisch ausgeführt, wenn ein Nutzer eine
Eine Webanwendung oder ein Programm sendet eine HTTP-GET
-Anfrage
für eine Web-App. doPost(e)
wird ausgeführt, wenn ein Programm eine HTTP-POST
-Anfrage an einen
Web-App. Diese Auslöser werden in den Leitfäden zur
Web-Apps, HTML-Dienst,
und Inhaltsdienste. Beachten Sie, dass doGet(e)
und
doPost(e)
unterliegen nicht den oben aufgeführten Einschränkungen.
Verfügbare Triggertypen
Wenn die Einschränkungen für einfache Auslöser verhindern, einen installierbaren Trigger, funktionieren. In der folgenden Tabelle sehen Sie, welche Triggertypen die für jeden Ereignistyp verfügbar sind. z. B. Google Tabellen, Google Präsentationen, Google Formulare und Alle Dokumente unterstützen einfache offene Trigger, aber nur Google Tabellen, Google Docs und Google Formulare werden unterstützt. installierbare offene Trigger.
Ereignis | Einfache Trigger | Installierbare Trigger |
---|---|---|
Öffnen |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
Bearbeiten |
<ph type="x-smartling-placeholder">
|
<ph type="x-smartling-placeholder">
|
Auswahländerung |
<ph type="x-smartling-placeholder">
|
|
Installieren |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
|
Ändern |
<ph type="x-smartling-placeholder">
|
|
Formular senden |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
|
Zeitgesteuert (Uhr) |
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
<ph type="x-smartling-placeholder">
|
|
Get |
<ph type="x-smartling-placeholder">
|
|
Posten |
<ph type="x-smartling-placeholder">
|
* Das Ereignis "open" für Google Formulare tritt nicht ein, wenn ein Nutzer ein um sie zu beantworten, als wenn ein Bearbeiter das Formular öffnet, um es zu ändern.