Ereignisobjekte

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, das in der Regel e heißt. Das Ereignisobjekt enthält Informationen zum Kontext, der den Trigger ausgelöst hat. Der Beispielcode unten zeigt beispielsweise einen einfachen onEdit(e)-Trigger für ein Google Sheets-Script, mit dem anhand 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 Sheets-Ereignisse

Mit den verschiedenen Google Sheets-spezifischen Triggern können Skripts auf die Aktionen eines Nutzers in einer Tabelle reagieren.

Öffnen

(einfach und installierbar)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

LIMITED
source

Ein Spreadsheet-Objekt, das die Google-Tabellen-Datei darstellt, an die das Script gebunden ist.

Spreadsheet
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer darstellt, sofern verfügbar (abhängig von einer komplexen Reihe von Sicherheitsbeschränkungen).

amin@example.com

Ändern

(installierbar)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

FULL
changeType

Die Art der Änderung (EDIT, INSERT_ROW, INSERT_COLUMN, REMOVE_ROW, REMOVE_COLUMN, INSERT_GRID, REMOVE_GRID, FORMAT oder OTHER).

INSERT_ROW
source

Ein Spreadsheet-Objekt, das die Google-Tabellen-Datei darstellt, an die das Script gebunden ist.

Spreadsheet
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat.

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer darstellt, sofern verfügbar (abhängig von einer komplexen Reihe von Sicherheitsbeschränkungen).

amin@example.com

Bearbeiten

(einfach und installierbar)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

LIMITED
oldValue

Zellenwert vor der Bearbeitung, falls vorhanden. Nur verfügbar, wenn der bearbeitete Bereich eine einzelne Zelle ist. Ist undefiniert, wenn die Zelle keinen vorherigen Inhalt hatte.

1234
range

Ein Range-Objekt, das die bearbeitete Zelle oder den bearbeiteten Zellbereich darstellt.

Range
source

Ein Spreadsheet-Objekt, das die Google-Tabellen-Datei darstellt, an die das Script gebunden ist.

Spreadsheet
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer darstellt, sofern verfügbar (abhängig von einer komplexen Reihe von Sicherheitsbeschränkungen).

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 dem ScriptApp.AuthMode-Enum.

FULL
namedValues

Ein Objekt mit den Namen und Werten der Fragen aus der Formulareinsendung.

{
  'First Name': ['Jane'],
  'Timestamp': ['6/7/2015 20:54:13'],
  'Last Name': ['Doe']
}
range

Ein Range-Objekt, das die bearbeitete Zelle oder den bearbeiteten Zellbereich darstellt.

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-Ereignisse

Mit Triggern kann Google Docs reagieren, wenn ein Nutzer ein Dokument öffnet.

Öffnen

(einfach und installierbar)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

LIMITED
source

Ein Document-Objekt, das die Google-Dokument-Datei darstellt, an die das Script gebunden ist.

Document
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer darstellt, sofern verfügbar (abhängig von einer komplexen Reihe von Sicherheitsbeschränkungen).

amin@example.com

Google Präsentationen-Ereignisse

Mit Triggern kann Google Slides reagieren, wenn ein Nutzer eine Präsentation öffnet.

Öffnen

(Einfach)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

LIMITED
source

Ein Presentation-Objekt, das die Google-Präsentationen-Datei darstellt, an die das Script gebunden ist.

Presentation
user

Ein User-Objekt, das den aktiven Nutzer darstellt, sofern verfügbar (abhängig von einer komplexen Reihe von Sicherheitsbeschränkungen).

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 dem ScriptApp.AuthMode-Enum.

LIMITED
source

Ein Form-Objekt, das die Google-Formular-Datei darstellt, an die das Script gebunden ist.

Form
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer darstellt, sofern verfügbar (abhängig von einer komplexen Reihe von Sicherheitsbeschränkungen).

amin@example.com

* Dieses Ereignis tritt nicht auf, wenn ein Nutzer ein Formular zum Beantworten öffnet, sondern wenn ein Mitbearbeiter das Formular zum Bearbeiten öffnet.

Formular senden

(installierbar)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

FULL
response

Ein FormResponse-Objekt, das die Antwort des Nutzers auf das Formular als Ganzes darstellt.

FormResponse
source

Ein Form-Objekt, das die Google-Formular-Datei darstellt, an die das Script gebunden ist.

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 nicht an, welches Ereignis sich geändert hat oder wie es sich geändert hat. Stattdessen weisen sie darauf hin, dass Ihr Code eine inkrementelle Synchronisierung durchführen muss, um die letzten Änderungen am Kalender zu übernehmen. Eine vollständige Beschreibung dieses Verfahrens finden Sie in der Anleitung zum Synchronisieren von Ressourcen für die Calendar API.

So synchronisieren Sie mit Kalender in Apps Script:

  1. Aktivieren Sie den erweiterten Kalenderdienst für das Skriptprojekt. Der integrierte Kalenderdienst reicht für diesen Workflow nicht aus.
  2. Legen Sie fest, welche Kalender synchronisiert werden sollen. Führen Sie für jeden dieser Kalender eine Erstsynchronisierung mit der Methode Events.list() des erweiterten Kalenderdienstes durch.
  3. Das Ergebnis der ersten Synchronisierung gibt ein nextSyncToken für diesen Kalender zurück. Speichern Sie dieses Token zur späteren Verwendung.
  4. Wenn der Apps Script-Trigger EventUpdated ausgelöst wird, der eine Änderung des Kalenderereignisses angibt, führen Sie eine inkrementelle Synchronisierung für den betroffenen Kalender mit dem gespeicherten nextSyncToken durch. Dies ist im Grunde eine weitere Events.list()-Anfrage, aber durch die Angabe von nextSyncToken wird die Antwort auf Ereignisse beschränkt, die sich seit der letzten Synchronisierung geändert haben.
  5. Sehen Sie sich die Antwort der Synchronisierung an, um zu erfahren, welche Termine 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.
  6. Aktualisieren Sie die nextSyncToken, die Sie für diesen Kalender gespeichert haben, mit der, die von der inkrementellen Synchronisierungsanfrage zurückgegeben wird. Dadurch werden bei der nächsten Synchronisierung nur die neuesten Änderungen zurückgegeben.

EventUpdated

(installierbar)
authMode

Ein Wert aus dem Enum ScriptApp.AuthMode.

FULL
calendarId

Die String-ID des Kalenders, in dem die Ereignisaktualisierung stattgefunden hat.

susan@example.com
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst 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 dem ScriptApp.AuthMode-Enum.

FULL

Google Chat App-Ereignisse

Weitere Informationen zu Ereignisobjekten in Google Chat finden Sie unter Interaktionen mit Ihrer Google Chat-App empfangen und darauf reagieren.

Zeitgesteuerte Ereignisse

Mit zeitgesteuerten Triggern (auch als Uhrzeittrigger bezeichnet) können Skripts zu einem bestimmten Zeitpunkt oder in einem wiederkehrenden Intervall ausgeführt werden.

Zeitgesteuert (installierbar)
authMode

Ein Wert aus dem ScriptApp.AuthMode-Enum.

FULL
day-of-month

Zwischen 1 und 31.

Da dieser Property-Name Bindestriche enthält, muss über e['day-of-month'] anstatt über die Punktnotation darauf zugegriffen werden.

31
day-of-week

Zwischen 1 (Montag) und 7 (Sonntag).

Da dieser Property-Name Bindestriche enthält, muss über e['day-of-week'] anstatt über die Punktnotation darauf zugegriffen werden.

7
hour

Zwischen 0 und 23.

23
minute

Zwischen 0 und 59.

59
month

Zwischen 1 und 12.

12
second

Zwischen 0 und 59.

59
timezone

Die Zeitzone.

UTC
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat.

4034124084959907503
week-of-year

Zwischen 1 und 52.

Da dieser Property-Name Bindestriche enthält, muss über e['week-of-year'] anstatt über die Punktnotation darauf zugegriffen werden.

52
year

Das Jahr

2015