Mit einfachen Triggern und installierbaren Triggern kann Apps Script eine Funktion automatisch ausführen, wenn ein bestimmtes Ereignis eintritt. Wenn ein Trigger ausgelöst wird, übergibt Apps Script der Funktion ein Ereignisobjekt als Argument, in der Regel e
. Das Ereignisobjekt enthält Informationen zum Kontext, durch den der Trigger ausgelöst wurde. Der folgende Beispielcode zeigt beispielsweise einen einfachen onEdit(e)
-Trigger für ein Google Tabellen-Skript, das anhand des Ereignisobjekts ermittelt, welche Zelle bearbeitet wurde.
function onEdit(e){
// Set a comment on the edited cell to indicate when it was changed.
var range = e.range;
range.setNote('Last modified: ' + new Date());
}
Auf dieser Seite werden die Felder im Ereignisobjekt für verschiedene Triggertypen beschrieben.
Google Tabellen-Ereignisse
Mit den verschiedenen für Google Tabellen spezifischen Triggern können Skripts auf die Aktionen eines Nutzers in einer Tabelle reagieren.
Öffnen(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der LIMITED |
source |
Ein Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
Ändern(installierbar) |
|
---|---|
authMode |
Ein Wert aus der FULL |
changeType |
Die Art der Änderung ( INSERT_ROW |
source |
Ein
Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat. 4034124084959907503 |
user |
Ein amin@example.com |
Bearbeiten(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der LIMITED |
oldValue |
Zellenwert vor der Änderung, falls vorhanden. Nur verfügbar, wenn der bearbeitete Bereich eine einzelne Zelle ist. Ist nicht definiert, wenn die Zelle keinen vorherigen Inhalt hatte. 1234 |
range |
Ein Range |
source |
Ein Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
value |
Neuer Zellenwert nach der Bearbeitung. Nur verfügbar, wenn der bearbeitete Bereich eine einzelne Zelle ist. 10 |
Formular senden(installierbar) |
|
---|---|
authMode |
Ein Wert aus der FULL |
namedValues |
Ein Objekt, das die Fragennamen und -werte aus der Formulareinreichung enthält. { 'First Name': ['Jane'], 'Timestamp': ['6/7/2015 20:54:13'], 'Last Name': ['Doe'] } |
range |
Ein Range |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat. 4034124084959907503 |
values |
Array mit Werten in der Reihenfolge, in der sie in der Tabelle angezeigt werden. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Google Docs-Termine
Mithilfe von Triggern kann Google Docs antworten, wenn ein Nutzer ein Dokument öffnet.
Öffnen(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der LIMITED |
source |
Ein Document |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
Veranstaltungen zu Google Präsentationen
Mithilfe von Triggern kann Google Präsentationen antworten, wenn ein Nutzer eine Präsentation öffnet.
Öffnen(einfach) |
|
---|---|
authMode |
Ein Wert aus der LIMITED |
source |
Ein Presentation |
user |
Ein amin@example.com |
Google Formulare-Ereignisse
Mit den Google Formulare-spezifischen Triggern können Skripts reagieren, wenn ein Nutzer ein Formular bearbeitet oder eine Antwort sendet.
Öffnen* (einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der LIMITED |
source |
Ein Form |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
* Dieses Ereignis tritt nicht ein, wenn ein Nutzer ein Formular öffnet, um zu antworten, sondern wenn ein Bearbeiter das Formular öffnet, um es zu ändern.
Formular senden(installierbar) |
|
---|---|
authMode |
Ein Wert aus der FULL |
response |
Ein FormResponse |
source |
Ein Form |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat. 4034124084959907503 |
Google Kalender-Termine
Kalendertrigger werden ausgelöst, wenn Kalendertermine eines Nutzers aktualisiert, also erstellt, bearbeitet oder gelöscht werden.
Diese Trigger geben keinen Aufschluss darüber, welches Ereignis sich geändert hat oder wie es sich geändert hat. Stattdessen weisen sie darauf hin, dass in Ihrem Code eine inkrementelle Synchronisierung durchgeführt werden muss, um die letzten Änderungen am Kalender zu übernehmen. Eine vollständige Beschreibung dieses Verfahrens finden Sie im Leitfaden zum Synchronisieren von Ressourcen für die Kalender API.
Gehen Sie wie folgt vor, um in Apps Script mit Google Kalender zu synchronisieren:
- Aktivieren Sie den erweiterten Kalenderdienst für das Skriptprojekt. Der integrierte Kalenderdienst ist für diesen Workflow nicht ausreichend.
- Bestimmen Sie, welche Kalender synchronisiert werden sollen. Führen Sie für jeden solchen Kalender eine erste Synchronisierung mit der Methode Events.list() des erweiterten Kalenderdienstes durch.
- Das Ergebnis der ersten Synchronisierung gibt ein
nextSyncToken
für diesen Kalender zurück. Speichern Sie dieses Token zur späteren Verwendung. - Wenn der Apps Script-Trigger
EventUpdated
ausgelöst wird und auf eine Änderung des Kalenderereignisses hinweist, führen Sie mit dem gespeichertennextSyncToken
eine inkrementelle Synchronisierung für den betroffenen Kalender durch. Dies ist im Wesentlichen eine weitere Events.list()-Anfrage. Wenn Sie dennextSyncToken
angeben, wird die Antwort jedoch auf Ereignisse beschränkt, die sich seit der letzten Synchronisierung geändert haben. - Untersuchen Sie die Antwort auf die Synchronisierung, um zu erfahren, welche Ereignisse aktualisiert wurden, und lassen Sie Ihren Code entsprechend reagieren. Sie können beispielsweise die Änderung protokollieren, eine Tabelle aktualisieren, E-Mail-Benachrichtigungen senden oder andere Aktionen ausführen.
- Aktualisieren Sie die
nextSyncToken
, die Sie für diesen Kalender gespeichert haben, mit dem Wert, der von der inkrementellen Synchronisierungsanfrage zurückgegeben wurde. Dadurch wird erzwungen, dass der nächste Synchronisierungsvorgang nur die neuesten Änderungen zurückgibt.
EventUpdated(installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung FULL |
calendarId |
Die String-ID des Kalenders, in dem das Ereignis aktualisiert wurde. susan@example.com |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat. 4034124084959907503 |
Ereignisse zu Google Workspace-Add-ons
Der onInstall()
-Trigger wird automatisch ausgeführt, wenn ein Nutzer ein Add-on installiert.
Installieren(einfach) |
|
---|---|
authMode |
Ein Wert aus der FULL |
Google Chat App-Ereignisse
Weitere Informationen zu Ereignisobjekten in Google Chat finden Sie unter Interaktionen mit der Google Chat App empfangen und beantworten.
Zeitgesteuerte Ereignisse
Mit zeitgesteuerten Triggern (auch Uhrzeittrigger genannt) können Skripts zu einer bestimmten Zeit oder in einem wiederkehrenden Intervall ausgeführt werden.
Zeitgesteuert (installierbar) | |
---|---|
authMode |
Ein Wert aus der FULL |
day-of-month |
Zwischen Da dieser Property-Name Bindestriche enthält, muss über 31 |
day-of-week |
Zwischen Da dieser Property-Name Bindestriche enthält, muss über 7 |
hour |
Zwischen 23 |
minute |
Zwischen 59 |
month |
Zwischen 12 |
second |
Zwischen 59 |
timezone |
Zeitzone UTC |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat. 4034124084959907503 |
week-of-year |
Zwischen Da dieser Property-Name Bindestriche enthält, muss über 52 |
year |
Das Jahr 2015 |