S'abonner aux événements Google Chat

Cette page décrit les événements Google Chat qu'une application Google Chat peuvent s'abonner à l'aide de l'API Google Workspace Events. Après avoir choisi types d'événements dont vous avez besoin, créez un abonnement pour commencer à recevoir depuis Google Chat.

En plus de vous abonner à des événements, vous pouvez interroger des événements en appelant l'API Chat. L'appel de l'API Chat permet vous récupérez les événements à intervalles réguliers ou vous rattrapez sur des événements que vous avez peut-être manqués dans le cadre d'un abonnement en raison d'une panne. Pour apprendre pour recevoir des événements Chat et y répondre, consultez Gérez les événements Google Chat dans les Documentation Chat

Événements Chat compatibles

Les abonnements Google Workspace vous permettent de recevoir des événements concernant les types de modifications suivants dans Chat:

  • les nouveaux messages, ou ceux qui ont été mis à jour ou supprimés ; dans l'espace.
  • Réactions nouvelles ou supprimées à un message.
  • Nouveaux membres, modifications ou suppressions dans l'espace.
  • Modifications apportées à l'espace auxquelles vous êtes abonné, comme un nouveau nom ou une nouvelle description d'un espace.

Ressources pouvant être surveillées pour les événements

Pour recevoir des événements, vous devez spécifier une ressource Chat à surveiller, appelée ressource cible de l'abonnement.

L'API Google Workspace Events est compatible avec les ressources cibles suivantes pour Chat:

Ressource cible Format Limites
Espace

//chat.googleapis.com/spaces/SPACE

SPACE est l'ID dans nom de ressource de la ressource space de l'API Chat. Vous pouvez obtenir l'ID à partir de l'URL de l'espace ou à l'aide de la méthode <ph type="x-smartling-placeholder"></ph> spaces.list().

L'utilisateur Chat qui autorise l'abonnement doit : être membre de l'espace par le biais de son compte Google Workspace Compte.
Tous les espaces d'un utilisateur

//chat.googleapis.com/spaces/-

L'abonnement ne reçoit que les événements des espaces dans lesquels l'utilisateur un membre via son compte Google Workspace ou Google.
Utilisateur

//cloudidentity.googleapis.com/users/USER

USER est l'ID dans nom de ressource de la ressource user de l'API Chat. Pour en savoir plus, consultez Identifier et spécifier les utilisateurs de Google Chat.

L'abonnement ne reçoit que les événements concernant l'utilisateur autorisé l'abonnement. Un utilisateur ne peut pas autoriser un abonnement sur pour le compte d'autres utilisateurs.

Types d'événements liés à la création d'abonnements

Lorsque vous créez un abonnement, vous utilisez le eventTypes[] pour spécifier les types d'événements que vous souhaitez recevoir. Les types d'événements sont les suivants : formatés conformément à la spécification CloudEvents, tels que google.workspace.APPLICATION.RESOURCE.VERSION.ACTION

Par exemple, pour recevoir des événements concernant des utilisateurs qui rejoignent un chat espace, vous spécifiez l'espace en tant que ressource cible et le type d'événement en tant que google.workspace.chat.membership.v1.created Pour recevoir des événements concernant rejoignant n'importe quel espace, vous spécifiez l'utilisateur comme ressource cible, et d'événement défini sur google.workspace.chat.membership.v1.created. Pour en savoir plus sur le fonctionnement des événements, consultez la page Structure de événements.

Le tableau suivant présente les types d'événements compatibles avec les abonnements aux espaces et aux abonnements aux utilisateurs. Pour en savoir plus sur les exceptions concernant ce qui déclenche 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é, vos L'application de chat peut également recevoir des événements par lot. Un événement de lot est un événement qui représente de nombreux événements du même type se produisant dans une courte une période donnée. La charge utile d'un événement de lot contient la liste de toutes les modifications ressources.

Par exemple, si un utilisateur ajoute 20 utilisateurs en même temps à un espace, votre L'application de chat peut recevoir un événement par lot (google.workspace.chat.membership.v1.batchCreated). La charge utile de l'événement contient Une liste de toutes les ressources Membership créées lorsque l'utilisateur 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 pas besoin de spécifier des événements par lot lorsque vous créez un abonnement. Pour Par exemple, si vous vous abonnez aux nouvelles réactions (google.workspace.chat.reaction.v1.created), votre L'application de chat est automatiquement configurée pour recevoir des des événements de réaction (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

Les messages multiples 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 les exemples de charges utiles pour les événements dans Chat.

Lorsque votre abonnement Google Workspace reçoit un événement de Chat, les data contient la charge utile pour l'événement. Cette charge utile contient des informations ressource Google Workspace qui a été modifiée. Par exemple, si vous êtes abonné à événements d'adhésion dans un espace, la charge utile de ces événements contient des informations à propos du spaces.membership ressource 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 spécifier si vous souhaitez que la charge utile inclure des détails sur la ressource, ou simplement le nom de la ressource. Pour Par exemple, si vous souhaitez recevoir des événements concernant des membres d'un chat vous pouvez spécifier les champs d'une ressource d'adhésion que vous souhaitez 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 auquel reçoit, 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éclenche qu'après la publication du premier message.
  • Pour recevoir des événements d'adhésion, l'utilisateur doit être un membre direct de l'espace. Si un utilisateur a été ajouté, modifié ou supprimé indirectement dans un espace via un groupe Google, l'abonnement n'est pas recevoir ces événements d'adhésion. Pour comprendre le fonctionnement des adhésions à Google Groupes, consultez Ajouter un groupe Google à un espace