Gérer les événements de Google Chat

Cette page explique comment les applications Google Chat peuvent recevoir et répondre aux événements dans Google Chat.

Un événement Google Chat représente une activité ou un changement dans Chat, comme un nouveau message dans un espace. Votre application Chat peut utiliser des événements pour comprendre ce qui s'est passé et prendre des mesures ou répondre de manière pertinente pour vos utilisateurs.

Voici quelques exemples d'utilisation des événements:

  • Surveillez et répondez aux nouveaux messages dans un espace, par exemple en vérifiant la présence de mots ou d'expressions clés.
  • Envoyez un message de bienvenue aux utilisateurs lorsqu'ils rejoignent l'espace pour leur expliquer les consignes ou leur donner des conseils sur l'utilisation efficace de l'application Chat.
  • Suivre et analyser l'activité Chat Par exemple, pour envoyer un rapport mensuel sur les nouveaux membres ou les messages qui génèrent le plus de réactions ou de réponses.
  • Communiquer sur différentes plates-formes de messagerie Par exemple, les utilisateurs peuvent envoyer et recevoir des messages d'utilisateurs sur une autre plate-forme de messagerie sans quitter Chat.

Fonctionnement des événements

Chaque fois qu'un événement se produit dans Google Chat, une ressource de l'API Google Chat est créée, mise à jour ou supprimée. Chat utilise des événements pour transmettre des informations à votre application Chat sur le type d'activité qui s'est produit et sur la ressource de l'API Chat concernée.

Exemple de déclenchement d'un événement par un message publié dans un espace Google Chat.
Figure 1 : Un utilisateur publie un message dans un espace Chat, ce qui crée une ressource Message. Chat crée ensuite un événement contenant des données sur le nouveau message.

Chat catégorise les événements par type. Les types d'événements vous aident à filtrer et à recevoir uniquement le type d'informations dont vous avez besoin, et vous permettent de gérer des activités similaires de la même manière.

Le tableau suivant montre comment une activité dans Chat affecte une ressource API Chat associée et le type d'événement reçu par votre application Chat:

Activité Ressource de l'API Chat Type d'événement
Un utilisateur publie un message dans un espace Chat Une ressource Message est créée. Nouveau message
Un utilisateur devient gestionnaire d'un espace. Une ressource Membership est mise à jour. Abonnement mis à jour
Un utilisateur réagit à un message. Une ressource Reaction est créée. Nouvelle réaction
Un utilisateur quitte un espace. Une ressource Membership est supprimée. Adhésion supprimée

Recevoir des événements depuis Google Chat

Pour recevoir des événements, votre application Chat peut effectuer l'une des opérations suivantes:

  • Abonnez-vous à des événements à l'aide de l'API Google Workspace Events pour les recevoir au fur et à mesure.
  • Interrogez les événements récents en appelant l'API Chat.

Le tableau suivant explique la différence et les raisons de la requête ou de l'abonnement aux événements:

S'abonner à des événements Interroger des événements
Cas d'utilisation
  • Traitez ou répondez aux événements en temps réel.
  • Surveillez l'activité des membres et découvrez de nouveaux espaces à surveiller.
  • traiter ou répondre aux événements de manière périodique ou via un déclencheur ;
  • Récupérer les événements manqués d'un abonnement (en raison d'une panne ou d'un abonnement inactif)
API API Google Workspace Events Chat API
Source des événements Espaces et utilisateurs Espaces uniquement
Événements compatibles
  • Messages
  • Souscriptions
  • Réactions
  • Espace

Pour obtenir la liste des types d'événements acceptés, consultez la section Types d'événements pour créer des abonnements dans la documentation de l'API Google Workspace Events.
  • Messages
  • Souscriptions
  • Réactions
  • Espace

Pour obtenir la liste des types d'événements compatibles, consultez la ressource spaceEvents dans la documentation de référence de l'API Chat.
Format des événements Message Google Cloud Pub/Sub, mis en forme conformément à la spécification CloudEvent. Pour en savoir plus, consultez la section Structure des événements Google Workspace. Une ressource Chat API ( spaces.spaceEvent)
Données d'événement Chaîne encodée en base64 avec ou sans données de ressources. Pour voir des exemples de charges utiles, consultez Données d'événement. Charge utile JSON contenant des données de ressources. Certains types d'événements n'incluent que certains champs de ressources. Pour obtenir des exemples de charges utiles, consultez la documentation de référence.

Exemple: interroger ou s'abonner à des événements concernant les adhésions dans un espace

Dans cet exemple, une application Chat souhaite recevoir des informations sur les modifications apportées aux membres d'un espace Chat. Dans l'espace, l'activité de membres suivante se produit:

  • Un utilisateur rejoint l'espace, ce qui crée une ressource Membership et déclenche un événement de nouveau membre.
  • Un utilisateur devient gestionnaire d'un espace, ce qui met à jour la ressource Membership pour l'utilisateur et déclenche un événement de membre mis à jour.
  • Un utilisateur quitte l'espace, ce qui supprime la ressource Membership pour l'utilisateur et déclenche un événement de suppression de membre.

S'abonner aux événements de souscription

Pour recevoir des événements en temps réel, l'application Chat appelle la méthode subscriptions.create() de l'API Google Workspace Events pour s'abonner à l'espace pour tous les types d'événements d'adhésion. Une fois l'abonnement créé, l'application Chat peut commencer à recevoir des événements d'adhésion.

Application Chat qui s'abonne aux événements à l'aide de l'API Google Workspace Events.
Figure 2 Une application Chat reçoit des événements d'adhésion via un abonnement à l'aide de l'API Google Workspace Events.

Dans la figure 2, l'application Chat dispose d'un abonnement actif à l'espace. Elle reçoit donc un événement chaque fois qu'un abonnement à l'espace change. L'application Chat peut ensuite traiter ou répondre en temps réel à l'une des activités, par exemple en publiant un message de bienvenue privé au membre qui a rejoint l'espace.

Pour découvrir comment créer des abonnements à l'aide de l'API Google Workspace Events, consultez la documentation de l'API Google Workspace Events.

Interroger les événements récents liés à l'adhésion

Au lieu de recevoir les événements de membres au fur et à mesure, une application Chat peut appeler l'API Chat pour lister les événements récents de l'espace liés à l'activité des membres.

Application Chat qui interroge des événements à l'aide de l'API Chat.
Figure 3. Une application Chat reçoit des événements d'appartenance récents en interrogeant les événements de l'espace à l'aide de l'API Chat.

Dans la figure 3, une application Chat appelle la méthode de l'API Chat spaces.spaceEvents.list() après que toutes les activités d'adhésion ont eu lieu, et filtre la requête pour les nouveaux événements d'adhésion, les événements d'adhésion mis à jour et les événements d'adhésion supprimés. L'API Chat renvoie une liste de ressources spaceEvent représentant chacune des modifications apportées à l'appartenance. L'application Chat peut ensuite traiter ou répondre en fonction de l'activité récente, par exemple en publiant un message hebdomadaire récapitulatif de l'activité des membres de l'espace au cours des sept derniers jours.

Pour interroger des événements à l'aide de l'API Chat, consultez Lister les événements d'un espace Google Chat.

Limites

  • Pour les abonnements aux 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.
  • Pour recevoir des événements d'abonnement, 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'adhésion. Pour comprendre le fonctionnement des adhésions à des groupes Google, consultez la section Ajouter un groupe Google à un espace.