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 ein Ereignisobjekt als Argument an die Funktion. Dieses wird in der Regel als e
bezeichnet. Das Ereignisobjekt enthält Informationen zum Kontext, der zum Auslösen des Triggers geführt hat. Der folgende Beispielcode zeigt einen einfachen onEdit(e)
-Trigger für ein Google Tabellen-Skript, in dem mithilfe des Ereignisobjekts ermittelt wird, 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-Termine
Mithilfe der verschiedenen Google Tabellen-spezifischen Trigger können Skripts auf die Aktionen eines Nutzers in einer Tabelle reagieren.
Offen(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Spreadsheet |
triggerUid |
ID des Triggers, der dieses Ereignis ausgelöst 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 erzeugt hat. 4034124084959907503 |
user |
Ein amin@example.com |
Bearbeiten(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
oldValue |
Gegebenenfalls Zellenwert vor der Bearbeitung. 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 ausgelöst 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 gesendet(installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung FULL |
namedValues |
Ein Objekt, das die Fragenamen 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 derselben Reihenfolge, wie sie in der Tabelle angezeigt werden. ['2015/05/04 15:00', 'amin@example.com', 'Bob', '27', 'Bill', '28', 'Susan', '25'] |
Google Docs-Ereignisse
Trigger ermöglichen es Google Docs, zu reagieren, wenn ein Nutzer ein Dokument öffnet.
Offen(einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Document |
triggerUid |
ID des Triggers, der dieses Ereignis ausgelöst hat (nur installierbare Trigger). 4034124084959907503 |
user |
Ein amin@example.com |
Google Präsentationen-Veranstaltungen
Trigger ermöglichen es Google Präsentationen, zu reagieren, wenn ein Nutzer eine Präsentation öffnet.
Offen(einfach) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Presentation |
user |
Ein amin@example.com |
Google Formulare-Ereignisse
Mit den spezifischen Triggern für Google Formulare können Skripts reagieren, wenn ein Nutzer ein Formular bearbeitet oder eine Antwort sendet.
Offen* (einfach und installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung LIMITED |
source |
Ein Form |
triggerUid |
ID des Triggers, der dieses Ereignis ausgelöst 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 nur, wenn ein Bearbeiter das Formular öffnet, um es zu ändern.
Formular gesendet(installierbar) |
|
---|---|
authMode |
Ein Wert aus der Aufzählung FULL |
response |
Ein FormResponse |
source |
Ein Form |
triggerUid |
ID des Triggers, der dieses Ereignis erzeugt hat. 4034124084959907503 |
Google Kalender-Terminen
Kalendertrigger werden ausgelöst, wenn die Kalendertermine eines Nutzers aktualisiert (erstellt, bearbeitet oder gelöscht werden).
Diese Trigger geben nicht Aufschluss darüber, welches Ereignis sich geändert hat oder wie es geändert wurde. Stattdessen weisen sie darauf hin, dass Ihr Code eine inkrementelle Synchronisierung ausführen 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 Calendar API.
So synchronisieren Sie mit Google Kalender in Apps Script:
- Aktivieren Sie den erweiterten Dienst Google Kalender für das Skriptprojekt. Der integrierte Kalenderdienst reicht für diesen Workflow nicht aus.
- Legen Sie fest, welche Kalender synchronisiert werden sollen. Führen Sie für jeden dieser Kalender eine erste Synchronisierung 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 zur späteren Verwendung. - Wenn der
EventUpdated
-Trigger von Apps Script ausgelöst wird, was auf eine Änderung des Kalenderereignisses hinweist, führen Sie eine inkrementelle Synchronisierung für den betroffenen Kalender mithilfe der gespeichertennextSyncToken
durch. Dies ist im Prinzip eine weitere Events.list()-Anfrage. Durch Angabe vonnextSyncToken
wird die Antwort jedoch auf Ereignisse beschränkt, die sich seit der letzten Synchronisierung geändert haben. - Untersuchen Sie die Synchronisierungsantwort, um zu ermitteln, welche Ereignisse aktualisiert wurden, und lassen Sie den Code entsprechend reagieren. 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, mit dem, der von der inkrementellen Synchronisierungsanfrage zurückgegeben wird. Dadurch wird beim nächsten Synchronisierungsvorgang erzwungen, dass nur die neuesten Änderungen zurückgegeben werden.
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 |
Google Workspace-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 |
Ereignisse in Google Chat App
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 als Uhrtrigger bezeichnet) können Skripts zu einer bestimmten Zeit 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 Attributname Bindestriche enthält, muss der Zugriff über 31 |
day-of-week |
Zwischen Da dieser Attributname Bindestriche enthält, muss der Zugriff ü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 erzeugt hat. 4034124084959907503 |
week-of-year |
Zwischen Da dieser Attributname Bindestriche enthält, muss der Zugriff über 52 |
year |
Das Jahr 2015 |