S'abonner aux événements Google Chat

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. Après avoir 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 à des é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 des événements régulièrement ou de rattraper les événements que vous avez peut-être manqués dans le cadre d'un abonnement en raison d'une panne. Pour découvrir comment recevoir des événements Chat et y répondre, consultez Utiliser des événements à partir de Google Chat dans la documentation Chat.

Ressources cibles Chat compatibles

L'API Google Workspace Events est compatible avec les abonnements suivants:

  • Espaces, représentés par des ressources space
  • Utilisateurs, représentés par les 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:

  • les messages nouveaux, modifiés ou supprimés dans l'espace ;
  • Réactions à un message, nouvelles ou supprimées.
  • les membres ajoutés, modifiés ou supprimés dans l'espace.
  • Modifications apportées à l'espace auquel vous êtes abonné, comme un nouveau nom ou une nouvelle description de l'espace.

Types d'événements liés à 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, spécifiez 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 concernant la participation d'un utilisateur donné à un espace, spécifiez l'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 la page Structure des événements Google Workspace.

Le tableau suivant présente les types d'événements compatibles avec les abonnements à des espaces et à des utilisateurs. Pour en savoir plus sur les exceptions concernant les déclencheurs d'un événement, consultez la section Limites.

Event type (Type d'événement) Format Données liées aux ressources
Abonnements aux espaces  
Un message est publié.

google.workspace.chat.message.v1.created

space.message

Un message est mis à jour.

google.workspace.chat.message.v1.updated

space.message

Un message est supprimé.

google.workspace.chat.message.v1.deleted

space.message

Une réaction est créée.

google.workspace.chat.reaction.v1.created

space.message.reaction

Une réaction est supprimée.

google.workspace.chat.reaction.v1.deleted

space.message.reaction

Un membre est ajouté à l'espace.

google.workspace.chat.membership.v1.created

space.membership

Un membre est mis à jour dans l'espace.

google.workspace.chat.membership.v1.updated

space.membership

Un membre est exclu de l'espace.

google.workspace.chat.membership.v1.deleted

space.membership

L'espace a été modifié.

google.workspace.chat.space.v1.updated

space

L'espace est supprimé.

google.workspace.chat.space.v1.deleted

space

Abonnements auprès des 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.

google.workspace.chat.membership.v1.created

space.membership

L'appartenance de l'utilisateur à un espace est mise à jour.

google.workspace.chat.membership.v1.updated

space.membership

L'utilisateur est supprimé en tant que membre direct d'un espace.

google.workspace.chat.membership.v1.deleted

space.membership

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 par lot est un événement qui représente de nombreux événements du même type qui se produisent dans un court laps de temps. La charge utile d'un événement de lot contient une 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 par lot (google.workspace.chat.membership.v1.batchCreated). La charge utile de l'événement contient la liste de toutes les nouvelles ressources Membership créées lorsque l'utilisateur a ajouté les membres à l'espace.

Vous recevez un événement par lot pour tout type d'événement auquel vous êtes abonné. Vous n'avez donc pas besoin de spécifier ces événements 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 présente les événements par lot possibles pour un abonnement:

Type d'événement par lot Format
Plusieurs messages sont publiés.

google.workspace.chat.message.v1.batchCreated

Plusieurs messages sont mis à jour.

google.workspace.chat.message.v1.batchUpdated

Plusieurs messages sont supprimés.

google.workspace.chat.message.v1.batchDeleted

Plusieurs réactions sont créées.

google.workspace.chat.reaction.v1.batchCreated

Les réactions multiples sont supprimées.

google.workspace.chat.reaction.v1.batchDeleted

Plusieurs membres sont ajoutés à l'espace abonné, ou l'utilisateur abonné a été ajouté à plusieurs espaces.

google.workspace.chat.membership.v1.batchCreated

Les adhésions multiples sont modifiées dans l'espace abonné ou pour l'utilisateur abonné.

google.workspace.chat.membership.v1.batchUpdated

Plusieurs membres sont retirés de l'espace auquel vous êtes abonné, ou l'utilisateur abonné a été exclu de plusieurs espaces.

google.workspace.chat.membership.v1.batchDeleted

L'espace fait l'objet de plusieurs mises à jour.

google.workspace.chat.space.v1.batchUpdated

Données d'événement

Cette section décrit les données d'événement et des 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 êtes abonné à des événements d'appartenance 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 ressource dans la charge utile de l'événement

Lorsque vous créez un abonnement, vous pouvez indiquer si vous souhaitez que la charge utile inclue des détails sur la ressource, ou uniquement le nom de la ressource. 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'adhésion 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 le message "Hello world" dans l'espace.

google.workspace.chat.message.v1.created

Inclut les 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.

google.workspace.chat.membership.v1.updated

Inclut les 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 de vente de Cymbal Labs". google.workspace.chat.space.v1.updated
Inclut les 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 Chat ont été ajoutés à l'espace en même temps. google.workspace.chat.membership.v1.batchCreated
Inclut les 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 les données de ressources
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
Omet les données de ressources
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
Les utilisateurs réagissent à un message avec l'emoji 😊 et l'emoji {/9}. google.workspace.chat.reaction.v1.batchCreated
Inclut les 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": "😸"
            }
          }
        }
    ]
}
      
Omet 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 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.
  • Les modifications apportées à l'historique des espaces ne déclenchent pas de nouveaux événements d'espace (type d'événement: google.workspace.chat.spaces.v1.updated).
  • Pour recevoir des événements d'adhésion, 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 appartenances aux groupes Google, consultez Ajouter un groupe Google à un espace.