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, 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 ScriptApp.AuthMode.

LIMITED
source

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

Spreadsheet
triggerUid

ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer repräsentiert, falls verfügbar (abhängig von einem komplexen Satz von Sicherheitseinschränkungen).

amin@example.com

Umsteigen

(installierbar)
authMode

Ein Wert aus der Aufzählung ScriptApp.AuthMode.

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 Skript gebunden ist.

Spreadsheet
triggerUid

ID des Triggers, der dieses Ereignis ausgelöst hat

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer repräsentiert, falls verfügbar (abhängig von einem komplexen Satz von Sicherheitseinschränkungen).

amin@example.com

Bearbeiten

(einfach und installierbar)
authMode

Ein Wert aus der Aufzählung ScriptApp.AuthMode.

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-Objekt, das die Zelle oder den Zellenbereich darstellt, die bearbeitet wurde.

Range
source

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

Spreadsheet
triggerUid

ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer repräsentiert, falls verfügbar (abhängig von einem komplexen Satz von Sicherheitseinschränkungen).

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

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-Objekt, das die Zelle oder den Zellenbereich darstellt, die bearbeitet wurde.

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

LIMITED
source

Ein Document-Objekt, das die Google Docs-Datei darstellt, an die das Skript gebunden ist.

Document
triggerUid

ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer repräsentiert, falls verfügbar (abhängig von einem komplexen Satz von Sicherheitseinschränkungen).

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

LIMITED
source

Ein Presentation-Objekt, das die Google Slides-Datei darstellt, an die das Skript gebunden ist.

Presentation
user

Ein User-Objekt, das den aktiven Nutzer repräsentiert, falls verfügbar (abhängig von einem komplexen Satz von Sicherheitseinschränkungen).

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

LIMITED
source

Ein Form-Objekt, das die Google Forms-Datei darstellt, an die das Skript gebunden ist.

Form
triggerUid

ID des Triggers, der dieses Ereignis generiert hat (nur installierbare Trigger).

4034124084959907503
user

Ein User-Objekt, das den aktiven Nutzer repräsentiert, falls verfügbar (abhängig von einem komplexen Satz von Sicherheitseinschränkungen).

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

FULL
response

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

FormResponse
source

Ein Form-Objekt, das die Google Forms-Datei darstellt, an die das Skript 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 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:

  1. Aktivieren Sie den erweiterten Kalenderdienst für das Skriptprojekt. Der integrierte Kalenderdienst ist für diesen Workflow nicht ausreichend.
  2. 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.
  3. Das Ergebnis der ersten Synchronisierung gibt einen nextSyncToken für diesen Kalender zurück. Speichern Sie dieses Token für die spätere Verwendung.
  4. Wenn der EventUpdated-Trigger für Apps Script eine Kalenderänderung auslöst, führen Sie mit dem gespeicherten nextSyncToken eine inkrementelle Synchronisierung für den betroffenen Kalender durch. Dies ist im Wesentlichen eine weitere Events.list()-Anfrage. Durch die Angabe von nextSyncToken wird die Antwort jedoch nur auf Ereignisse beschränkt, die sich seit der letzten Synchronisierung geändert haben.
  5. 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.
  6. 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 ScriptApp.AuthMode.

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

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

FULL
day-of-month

Zwischen 1 und 31.

Da dieser Property-Name Bindestriche enthält, muss über e['day-of-month'] statt ü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'] statt ü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'] statt über die Punktnotation darauf zugegriffen werden.

52
year

Das Jahr

2015