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.

Pour en savoir plus sur le développement de l'application Google Chat, consultez la présentation de l'API Google 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:

  • Messages nouveaux ou mis à jour 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:

Event type (Type d'événement) Description Données de ressources
Abonnements aux espaces  

google.workspace.chat.message.v1.created

Un nouveau message est publié.

space.message

google.workspace.chat.message.v1.updated

Un message est mis à jour.

space.message

google.workspace.chat.reaction.v1.created

Une réaction est créée.

space.message.reaction

google.workspace.chat.reaction.v1.deleted

Une réaction est supprimée.

space.message.reaction

google.workspace.chat.membership.v1.created

Un membre est créé dans cet espace.

space.membership

google.workspace.chat.membership.v1.updated

Un membre a été mis à jour dans cet espace.

space.membership

google.workspace.chat.membership.v1.deleted

Un membre est supprimé de cet espace.

space.membership

google.workspace.chat.space.v1.updated

L'espace est mis à jour.

space

google.workspace.chat.space.v1.deleted

L'espace est supprimé.

space

Abonnements aux utilisateurs  

google.workspace.chat.membership.v1.created

L'utilisateur devient membre d'un espace.

space.membership

google.workspace.chat.membership.v1.updated

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

space.membership

google.workspace.chat.membership.v1.deleted

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

space.membership

Types d'événements de sortie uniquement

Si vous vous abonnez aux types d'événements google.workspace.APPLICATION.RESOURCE.VERSION.ACTION, l'abonnement est automatiquement configuré pour recevoir également des versions par lot du type d'événement. Par exemple, si vous vous abonnez à google.workspace.chat.membership.v1.created, vous recevez également les événements pour google.workspace.chat.membership.v1.batchCreated.

Le tableau suivant indique les types d'événements de sortie uniquement pour les abonnements à des espaces et à des utilisateurs:

Event type (Type d'événement) Description Données de ressources

google.workspace.chat.message.v1.batchCreated

Plusieurs messages sont publiés simultanément.

Liste de spaces.messages

google.workspace.chat.message.v1.batchUpdated

Plusieurs messages sont mis à jour simultanément.

Liste de spaces.messages

google.workspace.chat.reaction.v1.batchCreated

Plusieurs réactions sont créées en même temps.

Liste de spaces.messages.reactions

google.workspace.chat.reaction.v1.batchDeleted

Plusieurs réactions sont supprimées en même temps.

Liste de spaces.messages.reactions

google.workspace.chat.membership.v1.batchCreated

  • Si target_resource est un espace: plusieurs membres sont créés dans l'espace.
  • Si target_resource est un utilisateur: il devient membre de plusieurs espaces.

Liste de spaces.memberships

google.workspace.chat.membership.v1.batchUpdated

  • Si target_resource est un espace: plusieurs membres sont mis à jour dans l'espace.
  • Si target_resource est un utilisateur: ses adhésions aux espaces ont été modifiées plusieurs fois.

Liste de spaces.memberships

google.workspace.chat.membership.v1.batchDeleted

  • Si target_resource est un espace, plusieurs membres sont supprimés de l'espace.
  • Si target_resource est un utilisateur: il est supprimé en tant que membre de plusieurs espaces.

Liste de spaces.memberships

google.workspace.chat.space.v1.batchUpdated

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

Liste de spaces

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".

google.workspace.chat.message.v1.created

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.

google.workspace.chat.membership.v1.updated

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",
        }
      }
    ]
}