Cette page décrit les événements Google Chat auxquels une application Google Chat peut s'abonner à l'aide de l'API Google Workspace Events. Une fois que vous avez choisi les types d'événements dont vous avez besoin, créez un abonnement pour commencer à recevoir des événements de Google Chat.
En plus de vous abonner aux événements, vous pouvez également interroger des événements en appelant l'API Chat. L'appel de l'API Chat vous permet de récupérer régulièrement des événements ou de rattraper ceux que vous avez manqués dans un abonnement en raison d'une panne. Pour découvrir comment recevoir des événements Chat et y répondre, consultez Gérer les événements Google Chat dans la documentation Chat.
Ressources cibles de Chat compatibles
L'API Google Workspace Events est compatible avec les abonnements aux services suivants:
- Les espaces, représentés par des ressources
space
- Utilisateurs, représentés par des ressources
user
de l'API Cloud Identity
Événements Chat compatibles
Les abonnements Google Workspace vous permettent de recevoir des événements concernant les types de modifications suivants dans Chat:
- nouveaux messages, mis à jour ou supprimés dans l'espace ;
- Des réactions nouvelles ou supprimées à un message
- Nouveaux membres, mis à jour ou supprimés dans l'espace.
- Modifications apportées à l'espace auquel vous êtes abonné (mise à jour du nom ou de la description d'un espace, par exemple)
Types d'événements pour la création d'abonnements
Lorsque vous créez un abonnement, vous utilisez le champ eventTypes[]
pour spécifier les types d'événements que vous souhaitez recevoir. Les types d'événements sont mis en forme conformément à la spécification CloudEvents, par exemple google.workspace.APPLICATION.RESOURCE.VERSION.ACTION
.
Par exemple, pour recevoir des événements concernant des utilisateurs qui rejoignent un espace Chat, vous devez spécifier l'espace en tant que ressource cible et le type d'événement sur google.workspace.chat.membership.v1.created
. Pour recevoir des événements lorsqu'un utilisateur donné rejoint un espace, vous devez spécifier cet utilisateur en tant que ressource cible et le type d'événement sur google.workspace.chat.membership.v1.created
. Pour en savoir plus sur le fonctionnement des événements, consultez Structure des événements Google Workspace.
Le tableau suivant présente les types d'événements compatibles avec les abonnements à des espaces et aux utilisateurs. Pour en savoir plus sur les exceptions concernant les déclencheurs d'un événement, consultez Limites.
Event type (Type d'événement) | Format | Données de ressources | ||
---|---|---|---|---|
Abonnements aux espaces | ||||
Un message est publié. |
|
|
||
Un message est mis à jour. |
|
|
||
Un message est supprimé. |
|
|
||
Une réaction est créée. |
|
|
||
Une réaction est supprimée. |
|
|
||
Un membre est ajouté à l'espace. |
|
|
||
Un membre est mis à jour dans l'espace. |
|
|
||
Un membre est exclu de l'espace. |
|
|
||
L'espace est mis à jour. |
|
|
||
L'espace est supprimé. |
|
|
||
Abonnements aux utilisateurs | ||||
L'utilisateur devient membre d'un espace.
Les nouveaux membres ne déclenchent pas tous des événements. Pour en savoir plus, consultez Limites. |
|
|
||
L'appartenance de l'utilisateur à un espace est mise à jour. |
|
|
||
L'utilisateur est supprimé en tant que membre direct d'un espace. |
|
|
Types d'événements par lot (sortie uniquement)
En plus de recevoir les types d'événements auxquels vous êtes abonné, votre application Chat peut également recevoir des événements par lot. Un événement de lot représente un grand nombre d'événements du même type se produisant dans un court laps de temps. La charge utile d'un événement de lot contient la liste de toutes les ressources modifiées.
Par exemple, si un utilisateur ajoute 20 utilisateurs à un espace en même temps, votre application Chat peut recevoir un événement de lot (google.workspace.chat.membership.v1.batchCreated
). La charge utile de l'événement contient une liste de toutes les nouvelles ressources Membership
créées lorsque l'utilisateur a ajouté les membres à l'espace.
Vous recevez un événement de lot pour tout type d'événement auquel vous êtes abonné. Vous n'avez donc pas besoin de spécifier des événements de lot lorsque vous créez un abonnement. Par exemple, si vous vous abonnez à de nouvelles réactions (google.workspace.chat.reaction.v1.created
), votre application Chat est automatiquement configurée pour recevoir les événements de réaction par lot (google.workspace.chat.reaction.v1.batchCreated
).
Le tableau suivant affiche les événements par lot possibles pour un abonnement:
Type d'événement par lot | Format |
---|---|
Plusieurs messages sont publiés. |
|
Plusieurs messages sont mis à jour. |
|
Plusieurs messages sont supprimés. |
|
Plusieurs réactions sont créées. |
|
Plusieurs réactions sont supprimées. |
|
Plusieurs membres sont ajoutés à l'espace auquel vous êtes abonné, ou l'utilisateur abonné a été ajouté à plusieurs espaces. |
|
Les souscriptions multiples sont mises à jour dans l'espace abonné ou pour l'utilisateur abonné. |
|
Plusieurs membres sont supprimés de l'espace auquel vous êtes abonné, ou l'utilisateur abonné a été exclu de plusieurs espaces. |
|
L'espace fait l'objet de plusieurs mises à jour. |
|
Données d'événement
Cette section décrit les données d'événement et les exemples de charges utiles pour les événements dans Chat.
Lorsque votre abonnement Google Workspace reçoit un événement de Chat, le champ data
contient la charge utile de l'événement. Cette charge utile contient des informations sur la ressource Google Workspace qui a été modifiée. Par exemple, si vous vous êtes abonné à des événements d'abonnement dans un espace, la charge utile de ces événements contient des informations sur la ressource spaces.membership
qui a été modifiée.
Données de ressources dans la charge utile de l'événement
Lorsque vous créez un abonnement, vous pouvez spécifier si vous souhaitez que la charge utile inclue des détails sur la ressource ou uniquement son nom. Par exemple, si vous souhaitez recevoir des événements sur les membres d'un espace Chat, vous pouvez spécifier les champs d'une ressource d'abonnement que vous souhaitez recevoir dans la charge utile de l'événement.
Le tableau suivant fournit des exemples de charges utiles JSON pour un abonnement à l'espace Chat spaces/AAAABBBBBB
. Pour chaque événement reçu par l'abonnement, la charge utile apparaît dans le champ data
de l'événement:
Exemple | Event type (Type d'événement) | Charge utile JSON |
---|---|---|
Un utilisateur publie dans l'espace un message intitulé "Hello world". |
|
Inclut des données de ressources
{ "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" } } Exclut les données de ressources
{ "message": { "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD" } } |
Un utilisateur devient gestionnaire de l'espace. |
|
Inclut des données de ressources
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321", "state": "JOINED", "member": { "name": "users/1234567890987654321", "type": "HUMAN" }, "createTime": "1970-01-01T00:00:00Z", "role": "ROLE_MANAGER" } } Exclut les données de ressources
{ "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } } |
Un utilisateur remplace la description de l'espace par "Équipe commerciale pour Cymbal Labs". | google.workspace.chat.space.v1.updated |
Inclut des données de ressources
{ "space": { "name": "spaces/AAAABBBBBB", "displayName": "Cymbal Sales", "spaceThreadingState": "THREADED_MESSAGES", "spaceType": "SPACE", "spaceDetails": { "description": "Sales team for Cymbal Labs." }, "spaceHistoryState": "HISTORY_ON" } } Exclut les données de ressources
{ "space": { "name": "spaces/AAAABBBBBB" } } |
Deux utilisateurs de Chat ont été ajoutés à l'espace en même temps. | google.workspace.chat.membership.v1.batchCreated |
Inclut des données de ressources
{ "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" } } ] } Exclut les données de ressources
{ "memberships": [ { "membership": { "name": "spaces/AAAABBBBBB/members/1234567890987654321" } }, { "membership": { "name": "spaces/AAAABBBBBB/members/98765432123456789019" } } ] } |
Un utilisateur réagit à un message avec l'emoji 😊. | google.workspace.chat.reaction.v1.created |
Inclut des données de ressources
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222", "user": { "name": "users/1234567890987654321", "type": "HUMAN" }, "emoji": { "unicode": "😊" } } } Omettre les données de ressources
{ "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" } } |
Les utilisateurs réagissent à un message avec les emoji 😊 et Ұ. | google.workspace.chat.reaction.v1.batchCreated |
Inclut des données de ressources
{ "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": "😸" } } } ] } Omettre les données de ressources
{ "reactions": [ { "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222" }, "reaction": { "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444", } } ] } |
Limites
-
Pour les abonnements à des utilisateurs, les événements concernant les nouveaux membres dans les messages privés ou les chats de groupe sans nom (
google.workspace.chat.membership.v1.created
) ne se déclenchent qu'après la publication du premier message. - Les modifications apportées à l'historique des espaces ne déclenchent pas la mise à jour des événements d'espace (type d'événement:
google.workspace.chat.spaces.v1.updated
). - Pour recevoir des événements pour les membres, l'utilisateur doit être un membre direct de l'espace. Si un utilisateur a été ajouté, mis à jour ou supprimé indirectement à un espace via un groupe Google, l'abonnement ne reçoit pas ces événements d'appartenance. Pour comprendre le fonctionnement des membres de groupes Google, consultez Ajouter un groupe Google à un espace.
Articles associés
- Structure des événements Google Workspace
- Choisir les champs d'application OAuth
- Créez un abonnement pour recevoir des événements Chat