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, normalerweise e
. Das Ereignisobjekt enthält Informationen zum Kontext, der den Trigger ausgelöst hat. Der folgende Beispielcode zeigt einen einfachen onEdit(e)
-Trigger für ein Google Tabellen-Skript, das anhand des Ereignisobjekts bestimmt, 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 sind die Felder im Ereignisobjekt für verschiedene Triggertypen aufgeführt.
Google Tabellen-Termine
Mithilfe der verschiedenen Google Tabellen-spezifischen Trigger können Skripts auf die Aktionen eines Nutzers in einer Tabelle reagieren.
Öffnen(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
Umsteigen(installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung FULL |
changeType |
Die Art der Änderung ( INSERT_ROW |
source |
Ein
Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis ausgelöst hat 4034124084959907503 |
user |
Ein amin@example.com |
Bearbeiten(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung 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 keine vorherigen Inhalte hatte. 1234 |
range |
Ein Range |
source |
Ein Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
value |
Neuer Zellenwert nach der Änderung. Nur verfügbar, wenn der bearbeitete Bereich eine einzelne Zelle ist. 10 |
Formular senden(installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung FULL |
namedValues |
Ein Objekt, das die Namen und Werte der Frage aus dem Formular 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 ausgelöst hat 4034124084959907503 |
values |
Array mit Werten in derselben Reihenfolge wie in der Tabelle ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Google Docs-Termine
Trigger ermöglichen es Google Docs, zu antworten, wenn ein Nutzer ein Dokument öffnet.
Öffnen(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Document |
triggerUid |
ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
Google Präsentationen-Veranstaltungen
Trigger ermöglichen es Google Präsentationen, zu antworten, wenn ein Nutzer eine Präsentation öffnet.
Öffnen(einfach) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Presentation |
user |
Ein amin@example.com |
Veranstaltungen in Google Formulare
Mit den Triggern für Google Formulare können Skripts reagieren, wenn ein Nutzer ein Formular bearbeitet oder eine Antwort einreicht.
Öffnen* (einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Form |
triggerUid |
ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
* Dieses Ereignis tritt nicht auf, 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 Aufzählung FULL |
response |
Ein FormResponse |
source |
Ein Form |
triggerUid |
ID des Triggers, der dieses Ereignis ausgelöst hat 4034124084959907503 |
Google Kalender-Termine
Kalender-Trigger werden ausgelöst, wenn die Kalendertermine eines Nutzers aktualisiert werden (erstellt, bearbeitet oder gelöscht).
Diese Trigger geben keinen Aufschluss darüber, welches Ereignis sich geändert hat. Stattdessen wird angegeben, dass der Code einen inkrementellen Synchronisierungsvorgang ausführen muss, um die letzten Änderungen am Kalender abzurufen. Eine vollständige Beschreibung dieses Verfahrens finden Sie im Leitfaden für die Ressourcensynchronisierung der Calendar API.
Führen Sie die folgenden Schritte aus, um Kalender in Apps Script zu synchronisieren:
- Aktivieren Sie den erweiterten Kalenderdienst für das Skriptprojekt. Der integrierte Kalenderdienst ist für diesen Workflow nicht ausreichend.
- Legen Sie fest, welche Kalender synchronisiert werden sollen. Führen Sie für jeden solchen Kalender eine intitial sync-Operation mit der Methode Events.list() des erweiterten Kalenderdienstes aus.
- Das Ergebnis der ersten Synchronisierung gibt einen
nextSyncToken
für diesen Kalender zurück. Speichern Sie dieses Token für die spätere Verwendung. - Wenn der
EventUpdated
-Trigger für Apps Script eine Kalenderänderung auslöst, führen Sie mit dem gespeichertennextSyncToken
eine inkrementelle Synchronisierung für den betroffenen Kalender durch. Dies ist im Wesentlichen eine weitere Events.list()-Anfrage. Durch die Angabe vonnextSyncToken
wird die Antwort jedoch nur auf Ereignisse beschränkt, die sich seit der letzten Synchronisierung geändert haben. - Prüfen Sie die Antwort der Synchronisierung, um herauszufinden, welche Ereignisse aktualisiert wurden, und um dafür zu sorgen, dass der Code entsprechend reagiert. Sie können beispielsweise die Änderung protokollieren, eine Tabelle aktualisieren, E-Mail-Benachrichtigungen senden oder andere Aktionen ausführen.
- Aktualisieren Sie den
nextSyncToken
, den Sie für diesen Kalender gespeichert haben, durch den, der von der inkrementellen Synchronisierungsanfrage zurückgegeben wurde. Dadurch werden bei der nächsten Synchronisierung nur die neuesten Änderungen zurückgegeben.
Aktualisiert(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 ausgelöst hat 4034124084959907503 |
Add-on-Ereignisse
Der onInstall()
-Trigger wird automatisch ausgeführt, wenn ein Nutzer ein Add-on installiert.
Installieren(einfach) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung FULL |
Zeitgesteuerte Ereignisse
Mit zeitgesteuerten Triggern (auch Uhr-Triggern genannt) können Skripts zu einem bestimmten Zeitpunkt oder in regelmäßigen Abständen ausgeführt werden.
Zeitgesteuert (installierbar) | |
---|---|
authMode |
Ein Wert aus der Aufzählung 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 |
Die Zeitzone. UTC |
triggerUid |
ID des Triggers, der dieses Ereignis ausgelöst hat 4034124084959907503 |
week-of-year |
Zwischen Da dieser Property-Name Bindestriche enthält, muss über 52 |
year |
Das Jahr 2015 |