Google Chat-Ereignisse abonnieren

Auf dieser Seite werden die Google Chat-Ereignisse beschrieben, die von einer Google Chat-App können über die Google Workspace Events API ein Abo abschließen. Nachdem Sie entschieden haben, Ereignistypen, die Sie benötigen, Abo, um die entsprechenden Funktionen zu erhalten aus Google Chat.

Neben dem Abonnieren von Ereignissen können Sie auch Ereignisse abfragen, indem Sie Chat-API. Durch den Aufruf der Chat API Ereignisse regelmäßig abrufen zu Ereignissen, die Sie aufgrund eines Ausfalls möglicherweise von einem Abo verpasst haben. Weitere Informationen wie Sie Chat-Ereignisse empfangen und darauf antworten können, finden Sie unter Mit Terminen aus Google Chat im Chat-Dokumentation

Unterstützte Chat-Ereignisse

Mit Google Workspace-Abos erhalten Sie Ereignisse zu den folgende Arten von Änderungen in Google Chat:

  • Neue, aktualisierte oder gelöschte Nachrichten in diesem Bereich.
  • Neue oder entfernte Reaktionen zu einer Nachricht.
  • Neue, aktualisierte oder entfernte Mitglieder in diesem Bereich.
  • Änderungen am Gruppenbereich das Sie abonniert haben, z. B. einen aktualisierten Namen oder eine aktualisierte Beschreibung.

Ressourcen, die Sie auf Ereignisse überwachen können

Um Ereignisse zu erhalten, geben Sie eine Chatressource an, die überwacht werden soll. Sie wird als Zielressource des Abos bezeichnet.

Die Google Workspace Events API unterstützt die folgenden Zielressourcen für Google Chat:

Zielressource Format Einschränkungen
Leerzeichen

//chat.googleapis.com/spaces/SPACE

Dabei ist SPACE die ID im Ressourcenname der space-Ressource der Chat API. Sie finden die ID in der URL des Gruppenbereichs oder mithilfe des spaces.list()-Methode.

Der Chat-Nutzer, der das Abo autorisiert, muss Sie müssen über Google Workspace oder Google Konto.
Alle Gruppenbereiche eines Nutzers

//chat.googleapis.com/spaces/-

Das Abo erhält nur Ereignisse für die Gruppenbereiche, in denen sich der Nutzer befindet über sein Google Workspace- oder Google-Konto.
Nutzer

//cloudidentity.googleapis.com/users/USER

Dabei ist USER die ID im Ressourcenname der user-Ressource der Chat API. Weitere Informationen finden Sie unter Identifizieren und definieren Sie Google Chat-Nutzer

Das Abo erhält nur Ereignisse über den Nutzer, die das Abo autorisiert haben. Ein Nutzer kann auf im Namen anderer Nutzer.

Ereignistypen zum Erstellen von Abos

Beim Erstellen eines Abos verwenden Sie das eventTypes[] geben Sie an, welche Ereignistypen Sie erhalten möchten. Ereignistypen sind die gemäß der CloudEvents-Spezifikation formatiert sind, wie z. B. google.workspace.APPLICATION.RESOURCE.VERSION.ACTION

So erhalten Sie beispielsweise Ereignisse zu Nutzern, die einem Chat beitreten angeben, geben Sie den Raum als Zielressource und den Ereignistyp als google.workspace.chat.membership.v1.created Um Ereignisse zu einem bestimmten betritt ein Nutzer einen beliebigen Bereich, geben Sie den Nutzer als Zielressource an Ereignistyp als google.workspace.chat.membership.v1.created. Weitere Informationen über Informationen zur Funktionsweise von Terminen (siehe Struktur von Google Workspace) Ereignisse.

In der folgenden Tabelle sehen Sie, welche Ereignistypen für Abos unterstützt werden und Abos für Nutzer. Weitere Informationen zu Ausnahmen für was ein Ereignis auslöst, finden Sie unter Einschränkungen.

Ereignistyp Format Ressourcendaten
Abos für Gruppenbereiche  
Eine Nachricht wird gepostet.

google.workspace.chat.message.v1.created

space.message

Eine Nachricht wird aktualisiert.

google.workspace.chat.message.v1.updated

space.message

Eine Nachricht wird gelöscht.

google.workspace.chat.message.v1.deleted

space.message

Eine Reaktion wird erstellt.

google.workspace.chat.reaction.v1.created

space.message.reaction

Eine Reaktion wurde gelöscht.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Ein Mitglied wird dem Gruppenbereich hinzugefügt.

google.workspace.chat.membership.v1.created

space.membership

Ein Mitglied wird im Gruppenbereich aktualisiert.

google.workspace.chat.membership.v1.updated

space.membership

Ein Mitglied wird aus dem Gruppenbereich entfernt.

google.workspace.chat.membership.v1.deleted

space.membership

Der Gruppenbereich wird aktualisiert.

google.workspace.chat.space.v1.updated

space

Der Gruppenbereich wird gelöscht.

google.workspace.chat.space.v1.deleted

space

Abos für Nutzer  
Der Nutzer wird Mitglied eines Gruppenbereichs.

Nicht alle neuen Mitglieder lösen Ereignisse aus. Weitere Informationen finden Sie unter Einschränkungen.

google.workspace.chat.membership.v1.created

space.membership

Die Mitgliedschaft des Nutzers in einem Gruppenbereich wird aktualisiert.

google.workspace.chat.membership.v1.updated

space.membership

Der Nutzer wird als direktes Mitglied eines Gruppenbereichs entfernt.

google.workspace.chat.membership.v1.deleted

space.membership

Batchereignistypen (nur Ausgabe)

Neben den von Ihnen abonnierten Ereignistypen Die Chat-App kann auch Batch-Ereignisse empfangen. Ein Batch-Ereignis ist ein Ereignis, das viele Ereignisse desselben Typs darstellt, die in einem kurzen für einen bestimmten Zeitraum. Die Nutzlast eines Batch-Ereignisses enthält eine Liste aller geänderten Ressourcen.

Wenn ein Nutzer einem Gruppenbereich beispielsweise 20 Nutzer gleichzeitig hinzufügt, Die Chat-App empfängt möglicherweise ein Batchereignis (google.workspace.chat.membership.v1.batchCreated). Die Ereignisnutzlast enthält Eine Liste aller neuen Ressourcen vom Typ Membership, die erstellt wurden, als der Nutzer hat die Mitglieder dem Gruppenbereich hinzugefügt.

Sie erhalten ein Batch-Ereignis für jeden Ereignistyp, den Sie abonniert haben, Sie müssen keine Batchereignisse angeben, wenn Sie ein Abo erstellen. Für Wenn Sie beispielsweise neue Reaktionen (google.workspace.chat.reaction.v1.created), deine Die Chat-App ist automatisch für den Empfang von Batches konfiguriert Reaktionsereignisse (google.workspace.chat.reaction.v1.batchCreated)

In der folgenden Tabelle sind die möglichen Batchereignisse für ein Abo aufgeführt:

Batch-Ereignistyp Format
Es wurden mehrere Nachrichten gepostet.

google.workspace.chat.message.v1.batchCreated

Es werden mehrere Nachrichten aktualisiert.

google.workspace.chat.message.v1.batchUpdated

Mehrere Nachrichten werden gelöscht.

google.workspace.chat.message.v1.batchDeleted

Es werden mehrere Reaktionen erstellt.

google.workspace.chat.reaction.v1.batchCreated

Mehrere Reaktionen werden gelöscht.

google.workspace.chat.reaction.v1.batchDeleted

Dem Gruppenbereich mit Abo werden mehrere Mitglieder hinzugefügt oder der Abonnent wurde mehreren Gruppenbereichen hinzugefügt.

google.workspace.chat.membership.v1.batchCreated

Mehrere Mitgliedschaften werden im abonnierten Gruppenbereich oder für den abonnierten Nutzer aktualisiert.

google.workspace.chat.membership.v1.batchUpdated

Mehrere Mitglieder werden aus dem Gruppenbereich mit Abo entfernt oder der Abonnent wurde aus mehreren Gruppenbereichen entfernt.

google.workspace.chat.membership.v1.batchDeleted

Für den Gruppenbereich gibt es mehrere Updates.

google.workspace.chat.space.v1.batchUpdated

Ereignisdaten

In diesem Abschnitt werden Ereignisdaten und Beispielnutzlasten für Ereignisse in Chat

Wenn Ihr Google Workspace-Abo ein Ereignis empfängt von Chat, der data enthält die Nutzlast für das Ereignis. Diese Nutzlast enthält Informationen zum Geänderte Google Workspace-Ressource. Wenn Sie beispielsweise Mitgliedschaftsereignisse in einem Bereich enthält, enthält die Nutzlast für diese Ereignisse Informationen über die spaces.membership Ressource, die sich geändert hat.

Ressourcendaten in der Ereignisnutzlast

Wenn Sie ein Abo erstellen, können Sie angeben, ob die Nutzlast Details zur Ressource oder nur den Namen der Ressource enthalten. Für Wenn Sie z. B. Termine zu Mitgliedern eines Chat- können Sie angeben, welche Felder einer Mitgliedschaftsressource Sie erhalten möchten in der Ereignisnutzlast.

Die folgende Tabelle enthält Beispiele für JSON-Nutzlasten für ein Abo für Der Chatbereich „spaces/AAAABBBBBB“. Für jedes Ereignis, das der Abo erhält, wird die Nutzlast im Feld data des Ereignisses angezeigt:

Beispiel Ereignistyp JSON-Nutzlast

Ein Nutzer postet im Gruppenbereich die Nachricht „Hallo Welt“.

google.workspace.chat.message.v1.created

Enthält Ressourcendaten
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD",
        "sender":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE"
        },
        "space":
        {
            "name": "spaces/AAAABBBBBB"
        },
        "argumentText": "Hello world"
    }
}
      
Ohne Ressourcendaten
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
Ein Nutzer wird zum Administrator des Gruppenbereichs.

google.workspace.chat.membership.v1.updated

Enthält Ressourcendaten
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
Ohne Ressourcendaten
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
Ein Nutzer aktualisiert die Beschreibung des Gruppenbereichs zu „Vertriebsteam für Cymbal Labs“. google.workspace.chat.space.v1.updated
Enthält Ressourcendaten
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
Ohne Ressourcendaten
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Dem Gruppenbereich wurden zwei Chat-Nutzer gleichzeitig hinzugefügt. google.workspace.chat.membership.v1.batchCreated
Enthält Ressourcendaten
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321",
            "state": "JOINED",
            "member":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/987654321234567890",
            "state": "JOINED",
            "member":
            {
                "name": "users/987654321234567890",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      
Ohne Ressourcendaten
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
Ein Nutzer reagiert auf eine Nachricht mit dem Emoji 😊. google.workspace.chat.reaction.v1.created
Enthält Ressourcendaten
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
Omits-Ressourcendaten
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
Nutzer reagieren auf eine Nachricht mit den Emojis 😊 und ####. google.workspace.chat.reaction.v1.batchCreated
Enthält Ressourcendaten
{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
            "user":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
            "user":
            {
                "name": "users/98765431234564321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      
Omits-Ressourcendaten
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}
      

Beschränkungen

  • Für Abos von Nutzern, Termine zu neuen Mitgliedern in Direktnachrichten oder unbenannte Gruppenchats (google.workspace.chat.membership.v1.created), erst nach dem Posten der ersten Nachricht ausgelöst.
  • Damit der Nutzer Mitgliedschaftsereignisse erhalten kann, muss er ein direktes Mitglied des Gruppenbereichs sein. Wenn ein Nutzer hinzugefügt wurde, aktualisiert oder über eine Google-Gruppe indirekt dorthin entfernt wurde, gilt das Abo nicht diese Mitgliedschaftsereignisse erhalten. Informationen zur Funktionsweise von Google-Gruppenmitgliedschaften finden Sie unter Google-Gruppen zu Gruppenbereichen hinzufügen