Gérer les événements de Google Chat

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

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

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

  • Surveillez les nouveaux messages dans un espace et répondez-y, par exemple en recherchant des mots clés ou des expressions.
  • Envoyez un message de bienvenue aux utilisateurs lorsqu'ils rejoignent l'espace afin de leur expliquer les consignes de l'espace ou de partager des conseils sur l'utilisation efficace de l'application Chat.
  • Suivez et analysez l'activité dans Chat. Par exemple, vous pouvez envoyer un rapport mensuel sur les nouveaux membres ou les messages qui reçoivent le plus de réactions ou de réponses.
  • Communiquez entre différentes plates-formes de messagerie. Par exemple, les utilisateurs peuvent envoyer et recevoir des messages 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 API Google Chat est créée, mise à jour ou supprimée. Chat utilise des événements pour fournir à votre application Chat des informations sur le type d'activité qui s'est produite et la ressource d'API Chat concernée.

Exemple illustrant comment un message publié dans un espace Google Chat déclenche un événement.
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 classe les événements par type. Les types d'événements vous permettent de filtrer et de ne recevoir que le type d'informations dont vous avez besoin. Ils vous permettent également de gérer des activités similaires de la même manière.

Le tableau suivant montre l'impact d'une activité dans Chat sur une ressource d'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 de l'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. Abonnement supprimé

Recevoir des événements 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 afin de recevoir des événements au fur et à mesure qu'ils se produisent.
  • interroger des événements récents en appelant l'API Chat ;

Le tableau suivant explique les différences et les raisons pour lesquelles vous pouvez interroger des événements ou vous y abonner:

S'abonner à des événements Requête pour des événements
Cas d'utilisation
  • Traitez des événements ou répondez-y en temps réel.
  • Surveillez l'activité des membres des utilisateurs et découvrez de nouveaux espaces à surveiller.
  • traiter des événements ou y répondre de façon périodique ou via un déclencheur ;
  • Récupérez les événements manqués d'un abonnement (en raison d'une indisponibilité 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 compatibles, consultez Types d'événements pour la création d'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 Un message Google Cloud Pub/Sub, formaté conformément à la spécification CloudEvent. Pour en savoir plus, consultez Structure des événements Google Workspace. Une ressource d'API Chat ( spaces.spaceEvent)
Données d'événement Chaîne encodée en base64 avec ou sans données de ressources. Pour obtenir des exemples de charges utiles, consultez la section Données d'événement. Charge utile JSON contenant des données de ressource. 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 des événements sur les membres d'un espace ou s'y abonner

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é d'appartenance suivante se produit:

  • Un utilisateur rejoint l'espace, qui crée une ressource Membership et déclenche un événement de nouveau membre.
  • Un utilisateur devient gestionnaire de l'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 de l'utilisateur et déclenche un événement de suppression de membre.

S'abonner aux événements réservés aux membres

Pour recevoir des événements en temps réel, l'application Chat appelle la méthode subscriptions.create() de l'API Google Workspace Events afin de 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. L'application reçoit donc un événement chaque fois qu'une adhésion à l'espace change. L'application Chat peut ensuite traiter n'importe quelle activité ou y répondre en temps réel, par exemple en publiant un message de bienvenue privé pour le membre qui a rejoint l'espace.

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

Requête pour les événements d'adhésion récents

Au lieu de recevoir les événements d'appartenance au moment où ils se produisent, une application Chat peut appeler l'API Chat pour répertorier les événements récents d'espaces 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 les événements d'adhésion récents en interrogeant les événements d'un espace à l'aide de l'API Chat.

Dans la figure 3, une application Chat appelle la méthode spaces.spaceEvents.list() de l'API Chat une fois que toutes les activités d'appartenance ont eu lieu, et filtre la requête pour identifier les événements d'appartenance nouveaux, mis à jour et supprimés. L'API Chat renvoie une liste de ressources spaceEvent représentant chacun des changements d'appartenance. L'application Chat peut ensuite traiter l'activité récente ou y répondre en fonction de l'activité récente, par exemple publier un message hebdomadaire contenant un résumé 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 la section Répertorier les événements d'un espace Google Chat.

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.