Event

Ein Interaktionsereignis einer Google Chat-App, das Daten zur Interaktion eines Nutzers mit einer Chat-App enthält. Informationen zum Konfigurieren Ihrer Chat-App für den Empfang von Interaktionsereignissen finden Sie unter Nutzerinteraktionen empfangen und darauf reagieren.

Chat-Apps können nicht nur Ereignisse von Nutzerinteraktionen empfangen, sondern auch Ereignisse zu Änderungen an Gruppenbereichen, z. B. wenn ein neues Mitglied einem Gruppenbereich hinzugefügt wird. Weitere Informationen zu Gruppenbereichsereignissen finden Sie unter Mit Ereignissen aus Google Chat arbeiten.

Warnung: Dieses Ereignisobjekt wird nur für Chat-Apps verwendet, die keine Add-ons sind. Wenn Ihre Chat-App als Google Workspace-Add-on erstellt wurde, finden Sie weitere Informationen unter Add-on-Ereignisobjekte in der Add-on-Dokumentation. Informationen dazu, welche Art von Ereignis Ihre App empfängt, finden Sie unter Ereignistyp bestimmen.

JSON-Darstellung
{
  "type": enum (EventType),
  "eventTime": string,
  "token": string,
  "threadKey": string,
  "message": {
    object (Message)
  },
  "user": {
    object (User)
  },
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "action": {
    object (FormAction)
  },
  "configCompleteRedirectUrl": string,
  "isDialogEvent": boolean,
  "dialogEventType": enum (DialogEventType),
  "common": {
    object (CommonEventObject)
  },
  "appCommandMetadata": {
    object (AppCommandMetadata)
  }
}
Felder
type

enum (EventType)

Der Typ der Nutzerinteraktion mit der Chat-App, z. B. MESSAGE oder ADDED_TO_SPACE.

eventTime

string (Timestamp format)

Der Zeitstempel, der angibt, wann das Interaktionsereignis aufgetreten ist.

token

string

Ein Secret-Wert, mit dem ältere Chat-Apps prüfen können, ob eine Anfrage von Google stammt. Google generiert das Token nach dem Zufallsprinzip und der Wert bleibt statisch. Sie können das Token auf der Konfigurationsseite der Chat API in der Google Cloud Console abrufen, widerrufen oder neu generieren.

Moderne Chat-Apps verwenden dieses Feld nicht. Er ist in API-Antworten und auf der Seite zur Chat API-Konfiguration nicht enthalten.

threadKey

string

Der von der Chat-App definierte Schlüssel für den Thread, der mit dem Interaktionsereignis verknüpft ist. Weitere Informationen finden Sie unter spaces.messages.thread.threadKey.

message

object (Message)

Bei den Interaktionsereignissen ADDED_TO_SPACE, CARD_CLICKED und MESSAGE die Nachricht, die das Interaktionsereignis ausgelöst hat, falls zutreffend.

user

object (User)

Der Nutzer, der mit der Chat-App interagiert hat.

thread

object (Thread)

Der Thread, in dem der Nutzer mit der Chat-App interagiert hat. Das kann ein neuer Thread sein, der durch eine neu gesendete Nachricht erstellt wurde. Dieses Feld wird ausgefüllt, wenn das Interaktionsereignis mit einer bestimmten Nachricht oder einem bestimmten Thread verknüpft ist.

space

object (Space)

Der Gruppenbereich, in dem der Nutzer mit der Chat-App interagiert hat.

action

object (FormAction)

Bei CARD_CLICKED-Interaktionsereignissen die Daten zur Formularaktion, die verknüpft werden, wenn ein Nutzer auf eine Karte oder ein Dialogfeld klickt. Weitere Informationen finden Sie unter Von Nutzern auf Karten eingegebene Formulardaten lesen.

configCompleteRedirectUrl

string

Diese URL wird für die Interaktionsereignisse MESSAGE, ADDED_TO_SPACE und APP_COMMAND ausgefüllt. Nachdem Nutzer einen Autorisierungs- oder Konfigurationsvorgang außerhalb von Google Chat abgeschlossen haben, müssen sie zu dieser URL weitergeleitet werden, um Google Chat zu signalisieren, dass der Autorisierungs- oder Konfigurationsvorgang erfolgreich war. Weitere Informationen finden Sie unter Chat-App mit anderen Diensten und Tools verbinden.

isDialogEvent

boolean

Bei CARD_CLICKED- und MESSAGE-Interaktionsereignissen, ob der Nutzer mit einem Dialogfeld interagiert oder im Begriff ist, damit zu interagieren.

dialogEventType

enum (DialogEventType)

Der Typ des empfangenen Dialoginteraktionsereignisses.

common

object (CommonEventObject)

Stellt Informationen zum Client des Nutzers dar, z. B. Sprache, Host-App und Plattform. Bei Chat-Apps enthält CommonEventObject Informationen, die von Nutzern bei der Interaktion mit Dialogfeldern gesendet wurden, z. B. Daten, die auf einer Karte eingegeben wurden.

appCommandMetadata

object (AppCommandMetadata)

Metadaten zu einem Chat-App-Befehl.

CommonEventObject

Das allgemeine Ereignisobjekt ist der Teil des gesamten Ereignisobjekts, der allgemeine, hostunabhängige Informationen vom Client des Nutzers an das Add-on überträgt. Diese Informationen umfassen Details wie die Sprache, die Host-App und die Plattform des Nutzers.

Zusätzlich zu Startseiten- und Kontext-Triggern erstellen Add-ons Ereignisobjekte und übergeben sie an Aktions-Callback-Funktionen, wenn der Nutzer mit Widgets interagiert. Die Callback-Funktion Ihres Add-ons kann das allgemeine Ereignisobjekt abfragen, um den Inhalt der geöffneten Widgets im Client des Nutzers zu ermitteln. Ihr Add-on kann beispielsweise den Text, den ein Nutzer in ein TextInput-Widget eingegeben hat, im eventObject.commentEventObject.formInputs-Objekt finden.

Bei Chat-Apps der Name der Funktion, die der Nutzer bei der Interaktion mit einem Widget aufgerufen hat.

JSON-Darstellung
{
  "userLocale": string,
  "hostApp": enum (HostApp),
  "platform": enum (Platform),
  "timeZone": {
    object (TimeZone)
  },
  "formInputs": {
    string: {
      object (Inputs)
    },
    ...
  },
  "parameters": {
    string: string,
    ...
  },
  "invokedFunction": string
}
Felder
userLocale

string

Standardmäßig deaktiviert. Die Kennung für die Sprache und das Land bzw. die Region des Nutzers im Format ISO 639-Sprachcode-ISO 3166-Länder-/Regionscode. Beispiel: en-US

Wenn Sie dieses Feld aktivieren möchten, müssen Sie im Manifest Ihres Add-ons addOns.common.useLocaleFromApp auf true festlegen. Die Bereichsliste Ihres Add-ons muss auch https://www.googleapis.com/auth/script.locale enthalten. Weitere Informationen finden Sie unter Auf Sprache und Zeitzone des Nutzers zugreifen.

hostApp

enum (HostApp)

Gibt die Host-Anwendung an, in der das Add-on aktiv ist, wenn das Ereignisobjekt generiert wird. Mögliche Werte:

  • GMAIL
  • CALENDAR
  • DRIVE
  • DOCS
  • SHEETS
  • SLIDES
  • CHAT
platform

enum (Platform)

Das Plattform-Enum, das die Plattform angibt, von der das Ereignis stammt (WEB, IOS oder ANDROID). Wird von Chat-Apps nicht unterstützt.

timeZone

object (TimeZone)

Standardmäßig deaktiviert. Die Zeitzonen-ID und der Zeitversatz gegenüber der koordinierten Weltzeit (UTC). Wenn Sie dieses Feld aktivieren möchten, müssen Sie im Manifest Ihres Add-ons addOns.common.useLocaleFromApp auf true festlegen. Die Bereichsliste Ihres Add-ons muss auch https://www.googleapis.com/auth/script.locale enthalten. Weitere Informationen finden Sie unter Auf Sprache und Zeitzone des Nutzers zugreifen.

Wird nur für die Ereignistypen CARD_CLICKED und SUBMIT_DIALOG unterstützt.

formInputs

map (key: string, value: object (Inputs))

Eine Zuordnung, die die aktuellen Werte der Widgets in der angezeigten Karte enthält. Die Zuordnungsschlüssel sind die Stringwerte name, die jedem Eingabe-Widget zugewiesen sind (z. B. TextInput.name, SelectionInput.name, DateTimePicker.name oder DecoratedText.SwitchControl.name).

Die Struktur des Zuordnungswertobjekts hängt vom Widget-Typ ab:

Hinweis: Die folgenden Beispiele sind für die V8-Laufzeitumgebung von Apps Script formatiert. Wenn Sie die Rhino-Laufzeit verwenden, müssen Sie [""] nach dem Wert hinzufügen. Formatieren Sie das Ereignisobjekt beispielsweise als e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0] statt als e.commonEventObject.formInputs.employeeName.stringInputs.value[0]. Weitere Informationen zu Laufzeiten in Apps Script finden Sie in der Übersicht über die V8-Laufzeit.

  • Widgets mit einem einzelnen Wert (z. B. ein TextInput-Widget oder ein SelectionInput-Widget vom Typ DROPDOWN oder RADIO_BUTTON): ein StringInputs-Objekt, das eine Liste mit einem einzelnen Element enthält (oder eine leere Liste, wenn keine Auswahl getroffen wurde).

Beispiel: Für ein Texteingabe-Widget mit employeeName als name greifen Sie mit e.commonEventObject.formInputs.employeeName.stringInputs.value[0] auf den Texteingabewert zu.

  • Widgets mit mehreren Werten (z. B. ein SelectionInput-Widget vom Typ CHECK_BOX, SWITCH oder MULTI_SELECT): ein StringInputs-Objekt, das die Liste der ausgewählten value-Strings enthält.

Beispiel: Bei einem Widget mit mehreren Werten und participants als name greifen Sie mit e.commonEventObject.formInputs.participants.stringInputs.value auf das Wert-Array zu.

  • Ein DecoratedText.SwitchControl-Widget: ein StringInputs-Objekt. Wenn selected den Wert true hat, enthält stringInputs.value das Feld value des Schalters (oder "", wenn value nicht angegeben wurde; wenn mehrere Schalter denselben name haben, wird das Feld value jedes ausgewählten Schalters in die Liste aufgenommen). Wenn selected false ist, wird die value des Switches in stringInputs.value weggelassen.

  • Datum/Uhrzeit-Auswahl (DateTimePickerType.DATE_AND_TIME): ein DateTimeInput object.

Beispiel: Bei einer Auswahl mit dem name myDTPicker greifen Sie mit e.commonEventObject.formInputs.myDTPicker.dateTimeInput auf das Objekt DateTimeInput zu.

Beispiel: Bei einer Auswahl mit dem name myDatePicker greifen Sie mit e.commonEventObject.formInputs.myDatePicker.dateInput auf das Objekt DateInput zu.

Beispiel: Bei einer Auswahl mit dem name myTimePicker greifen Sie mit e.commonEventObject.formInputs.myTimePicker.timeInput auf das Objekt TimeInput zu.

parameters

map (key: string, value: string)

Alle zusätzlichen Parameter, die Sie einer Aktion mit actionParameters oder Action.setParameters() übergeben.

Entwicklervorschau: Bei Add-ons, die Google Chat erweitern, können Sie den Wert des Schlüssels "autocomplete_widget_query" (event.commonEventObject.parameters["autocomplete_widget_query"]) verwenden, um Elemente basierend auf den Eingaben der Nutzer in Menüs mit Mehrfachauswahl vorzuschlagen. Mit diesem Wert können Sie eine Datenbank abfragen und Nutzern während der Eingabe auswählbare Elemente vorschlagen. Weitere Informationen finden Sie unter Informationen von Google Chat-Nutzern erfassen und verarbeiten.

invokedFunction

string

Name der aufzurufenden Funktion.

Dieses Feld wird für Google Workspace-Add‑ons, die Google Chat erweitern, nicht ausgefüllt. Stattdessen sollten Add-ons, die Google Chat erweitern, das Feld parameters verwenden, um Funktionsdaten wie IDs zu erhalten. Weitere Informationen finden Sie unter Interaktive Oberflächen für Chat-Apps erstellen.

TimeZone

Die Zeitzonen-ID und der Zeitversatz gegenüber der koordinierten Weltzeit (UTC). Wird nur für die Ereignistypen CARD_CLICKED und SUBMIT_DIALOG unterstützt.

JSON-Darstellung
{
  "id": string,
  "offset": integer
}
Felder
id

string

Der Zeitzonencode der IANA-Zeitzonendatenbank, z. B. „America/Toronto“.

offset

integer

Die Abweichung der Zeitzone des Nutzers von der koordinierten Weltzeit (UTC) in Millisekunden.

Eingaben

Datentypen, die Nutzer auf Karten oder in Dialogfeldern eingeben können. Der Eingabetyp hängt von der Art der Werte ab, die das Widget akzeptiert.

JSON-Darstellung
{

  "stringInputs": {
    object (StringInputs)
  },
  "dateTimeInput": {
    object (DateTimeInput)
  },
  "dateInput": {
    object (DateInput)
  },
  "timeInput": {
    object (TimeInput)
  }
}
Felder
Im Folgenden finden Sie eine Liste von Feldern, die sich gegenseitig ausschließen. In einer Antwort wird höchstens eines der Felder festgelegt:
stringInputs

object (StringInputs)

Eine Liste von Strings, die die Werte darstellen, die der Nutzer in ein Widget eingibt.

Wenn das Widget nur einen Wert akzeptiert, z. B. ein TextInput-Widget, enthält die Liste ein Stringobjekt. Wenn das Widget mehrere Werte akzeptiert, z. B. ein SelectionInput-Widget mit Kästchen, enthält die Liste ein Stringobjekt für jeden Wert, den der Nutzer eingibt oder auswählt.

dateTimeInput

object (DateTimeInput)

Datums- und Uhrzeit-Eingabewerte aus einem DateTimePicker-Widget, das sowohl ein Datum als auch eine Uhrzeit akzeptiert.

dateInput

object (DateInput)

Datumseingabewerte aus einem DateTimePicker-Widget, das nur Datumswerte akzeptiert.

timeInput

object (TimeInput)

Zeiteingabewerte aus einem DateTimePicker-Widget, das nur Zeitwerte akzeptiert.

Ende der sich gegenseitig ausschließenden Felder.

StringInputs

Eingabeparameter für reguläre Widgets. Bei Widgets mit einem einzelnen Wert ist es eine Liste mit einem einzelnen Wert. Bei Widgets mit mehreren Werten, z. B. Kästchen, werden alle Werte angezeigt.

JSON-Darstellung
{
  "value": [
    string
  ]
}
Felder
value[]

string

Eine Liste von Strings, die vom Nutzer eingegeben wurden.

DateTimeInput

Eingabewerte für Datum und Uhrzeit.

JSON-Darstellung
{
  "msSinceEpoch": string,
  "hasDate": boolean,
  "hasTime": boolean
}
Felder
msSinceEpoch

string (int64 format)

Zeit seit der Epoche in Millisekunden.

hasDate

boolean

Gibt an, ob die Eingabe datetime ein Kalenderdatum enthält.

hasTime

boolean

Gibt an, ob die datetime-Eingabe einen Zeitstempel enthält.

DateInput

Datumseingabewerte.

JSON-Darstellung
{
  "msSinceEpoch": string
}
Felder
msSinceEpoch

string (int64 format)

Zeit seit der Epoche in Millisekunden.

TimeInput

Werte für die Zeiteingabe.

JSON-Darstellung
{
  "hours": integer,
  "minutes": integer
}
Felder
hours

integer

Die Stunde im 24-Stunden-Format.

minutes

integer

Die Anzahl der Minuten nach der vollen Stunde. Gültige Werte sind 0 bis 59.

AppCommandMetadata

Metadaten zu einem Chat-App-Befehl.

JSON-Darstellung
{
  "appCommandId": integer,
  "appCommandType": enum (AppCommandType)
}
Felder
appCommandId

integer

Die ID für den Befehl, der in der Chat API-Konfiguration angegeben ist.

appCommandType

enum (AppCommandType)

Der Typ des Chat-App-Befehls.