Mit Terminen aus Google Chat arbeiten

Auf dieser Seite wird erläutert, wie Google Chat-Apps Ereignisse in Google Chat empfangen und darauf reagieren können.

Ein Google Chat-Ereignis steht für eine Aktivität oder Änderung in Google Chat, z. B. eine neue Nachricht in einem Gruppenbereich. Ihre Chat-App kann Ereignisse verwenden, um zu verstehen, was passiert ist, und Maßnahmen zu ergreifen oder auf sinnvolle Weise für Ihre Nutzer zu reagieren.

Hier einige Beispiele für die Verwendung von Ereignissen:

  • Sie können neue Nachrichten in einem Gruppenbereich überwachen und darauf antworten, z. B. nach Schlüsselwörtern oder Wortgruppen suchen.
  • Senden Sie Nutzern, die dem Gruppenbereich beitreten, eine Willkommensnachricht, in der sie die Richtlinien für den Gruppenbereich erläutern oder Tipps zur effektiven Nutzung der Chat App geben.
  • Chataktivitäten verfolgen und analysieren Zum Beispiel, um einen monatlichen Bericht über neue Mitglieder oder die Nachrichten zu senden, die die meisten Reaktionen oder Antworten erhalten.
  • Kommunikation zwischen Messaging-Plattformen Beispielsweise können Nutzer Nachrichten an Nutzer einer anderen Messaging-Plattform senden und empfangen, ohne Google Chat zu verlassen.

Funktionsweise von Ereignissen

Wenn in Google Chat etwas passiert, wird eine Google Chat API-Ressource erstellt, aktualisiert oder gelöscht. Chat verwendet Ereignisse, um Ihrer Chat-App Informationen über die Art der aufgetretenen Aktivität und die betroffene Chat API-Ressource zu senden.

Beispiel dafür, wie eine Nachricht, die in einem Google Chat-Bereich gepostet wurde, ein Ereignis auslöst.
Abbildung 1. Ein Nutzer postet eine Nachricht in einem Chatbereich. Dadurch wird eine Message-Ressource erstellt. Chat erstellt dann ein Ereignis, das Daten zur neuen Nachricht enthält.

In Google Chat werden Ereignisse nach Typ kategorisiert. Mithilfe von Ereignistypen können Sie nur die Informationen filtern und empfangen, die Sie benötigen, und ähnliche Aktivitäten auf die gleiche Weise verarbeiten.

Die folgende Tabelle zeigt, wie sich eine Aktivität in Google Chat auf eine zugehörige Chat API-Ressource auswirkt und welche Art von Ereignis Ihre Chat-App empfängt:

Aktivitäten Chat API-Ressource Ereignistyp
Ein Nutzer postet eine Nachricht in einem Chatbereich Eine Message-Ressource wird erstellt. Neue Nachricht
Ein Nutzer wird zum Administrator des Gruppenbereichs. Eine Membership-Ressource wird aktualisiert. Mitgliedschaft aktualisiert
Ein Nutzer reagiert auf eine Nachricht. Eine Reaction-Ressource wird erstellt. Neue Reaktion
Ein Nutzer verlässt einen Gruppenbereich. Eine Membership-Ressource wurde gelöscht. Gelöschte Mitgliedschaft

Termine aus Google Chat empfangen

Um Ereignisse zu empfangen, kann Ihre Chat-App eine der folgenden Aktionen ausführen:

  • Abonnieren Sie Ereignisse mit der Google Workspace Events API, um sie in Echtzeit zu erhalten.
  • Fragen Sie die letzten Ereignisse ab, indem Sie die Chat API aufrufen.

In der folgenden Tabelle werden der Unterschied und die Gründe für das Abfragen oder Abonnieren von Ereignissen erläutert:

Ereignisse abonnieren Abfragen von Ereignissen
Anwendungsfälle
  • Ereignisse in Echtzeit verarbeiten oder darauf reagieren
  • Behalten Sie die Mitgliedschaftsaktivität von Nutzern im Blick und entdecken Sie neue Gruppenbereiche, die Sie beobachten können.
  • Ereignisse regelmäßig oder über einen Trigger verarbeiten oder darauf reagieren.
  • Rufen Sie verpasste Ereignisse aus einem Abo ab (aufgrund eines Ausfalls oder eines inaktiven Abos).
API Google Workspace Events API Chat API
Quelle der Ereignisse Gruppenbereiche und Nutzer Nur Gruppenbereiche
Unterstützte Ereignisse
  • Meldungen
  • Kanalmitgliedschaft
  • Reaktionen
  • Leerzeichen

Eine Liste der unterstützten Ereignistypen finden Sie in der Dokumentation zur Google Workspace Events API unter Ereignistypen zum Erstellen von Abos.
  • Meldungen
  • Kanalmitgliedschaft
  • Reaktionen
  • Leerzeichen

Eine Liste der unterstützten Ereignistypen finden Sie in der Chat API-Referenzdokumentation unter spaceEvents.
Ereignisformat Eine Google Cloud Pub/Sub-Nachricht, die gemäß der CloudEvent-Spezifikation formatiert ist. Weitere Informationen finden Sie unter Struktur von Google Workspace-Ereignissen. Eine Chat API-Ressource ( spaces.spaceEvent)
Ereignisdaten Base64-codierter String mit oder ohne Ressourcendaten. Beispiele für Nutzlasten finden Sie unter Ereignisdaten. JSON-Nutzlast, die Ressourcendaten enthält. Einige Ereignistypen enthalten nur bestimmte Ressourcenfelder. Beispiele für Nutzlasten finden Sie in der Referenzdokumentation.

Beispiel: Veranstaltungen zur Mitgliedschaft in einem Gruppenbereich abfragen oder abonnieren

In diesem Beispiel möchte eine Chat-App Informationen über Änderungen an Mitgliedern eines Chatbereichs erhalten. Im Gruppenbereich findet die folgende Mitgliedschaftsaktivität statt:

  • Ein Nutzer tritt dem Gruppenbereich bei, wodurch eine Membership-Ressource erstellt und ein neues Mitgliedsereignis ausgelöst wird.
  • Ein Nutzer wird zu einem Administrator des Gruppenbereichs, der die Membership-Ressource für den Nutzer aktualisiert und ein aktualisiertes Mitgliedsereignis auslöst.
  • Ein Nutzer verlässt den Bereich, wodurch die Ressource Membership für den Nutzer gelöscht und ein Ereignis vom Typ „Mitglied gelöscht“ ausgelöst wird.

Mitgliedschaftsereignisse abonnieren

Um Ereignisse in Echtzeit zu erhalten, ruft die Chat-App die Google Workspace Events API-Methode subscriptions.create() auf, um den Gruppenbereich für alle Arten von Mitgliedschaftsereignissen zu abonnieren. Nachdem Sie das Abo erstellt haben, kann die Chat-App Mitgliedschaftsereignisse empfangen.

Chat-App, die Ereignisse über die Google Workspace Events API abonniert.
Abbildung 2: Eine Chat-App empfängt Mitgliedschaftsereignisse über ein Abo, das die Google Workspace Events API verwendet.

In Abbildung 2 hat die Chat-App ein aktives Abo für den Gruppenbereich. Die App empfängt also jedes Mal ein Ereignis, wenn sich eine Mitgliedschaft im Gruppenbereich ändert. Die Chat-App kann dann alle Aktivitäten in Echtzeit verarbeiten oder darauf antworten, z. B. eine private Willkommensnachricht an das Mitglied senden, das dem Gruppenbereich beigetreten ist.

Informationen zum Erstellen von Abos mit der Google Workspace Events API finden Sie in der Dokumentation zur Google Workspace Events API.

Letzte Mitgliedschaftsereignisse abfragen

Anstatt die Mitgliedschaftsereignisse sofort zu erhalten, kann eine Chat-App die Chat API aufrufen, um die neuesten Gruppenbereichsereignisse im Zusammenhang mit der Mitgliedschaftsaktivität aufzulisten.

Chat-App, die über die Chat API Ereignisse abfragt
Abbildung 3. Eine Chat-App empfängt aktuelle Mitgliedschaftsereignisse, indem sie über die Chat API nach Gruppenbereichsereignissen fragt.

In Abbildung 3 ruft eine Chat-App die Chat API-Methode spaces.spaceEvents.list() auf, nachdem alle Mitgliedschaftsaktivitäten stattgefunden haben, und filtert die Abfrage nach neuen, aktualisierten und gelöschten Mitgliedschaftsereignissen. Die Chat API gibt eine Liste von spaceEvent-Ressourcen zurück, die jede der Mitgliedschaftsänderungen darstellen. Die Chat-App kann dann basierend auf der letzten Aktivität verarbeiten oder antworten, z. B. eine wöchentliche Nachricht mit einer Zusammenfassung der Mitgliedschaftsaktivität des Gruppenbereichs der letzten 7 Tage posten.

Informationen zum Abfragen von Ereignissen mit der Chat API finden Sie unter Ereignisse aus einem Google Chat-Bereich auflisten.

Beschränkungen

  • Bei Abos für Nutzer werden Ereignisse zu neuen Mitgliedern in Direktnachrichten oder unbenannten Gruppenchats (google.workspace.chat.membership.v1.created) erst ausgelöst, nachdem die erste Nachricht gepostet wurde.
  • Damit der Nutzer Mitgliedschaftsereignisse erhalten kann, muss er ein direktes Mitglied des Gruppenbereichs sein. Wenn ein Nutzer über eine Google-Gruppe indirekt einem Gruppenbereich hinzugefügt, aktualisiert oder entfernt wurde, erhält das Abo diese Mitgliedschaftsereignisse nicht. Informationen zur Funktionsweise von Google Groups-Mitgliedschaften finden Sie unter Google-Gruppen zu einem Gruppenbereich hinzufügen.