Identifier et spécifier des utilisateurs Google Chat
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page explique comment les applications Google Chat peuvent identifier ou spécifier des utilisateurs Chat.
Pour effectuer l'une des opérations suivantes, une application Chat doit spécifier un utilisateur:
Comment Chat identifie-t-il les utilisateurs ?
L'API Google Chat génère une ressource User
pour chaque personne qui utilise Chat. Vous trouverez ci-dessous deux champs User
importants:
name
est le nom de la ressource, au format users/{user}
, où {user}
représente un identifiant unique et stable. users/app
peut être utilisé comme alias pour l'application Chat appelante.
type
est le type d'utilisateur. Ce type indique à Chat si l'utilisateur est une application Chat ou une personne. Pour les applications de chat, la valeur est BOT
. Pour les personnes, la valeur est HUMAN
.
Spécifier un utilisateur dans un appel à l'API Google Chat
Pour spécifier un utilisateur, utilisez les valeurs suivantes pour la valeur {user}
:
Pour les utilisateurs de votre organisation Google Workspace, utilisez l'une des approches suivantes:
name
de la ressource User
dans l'API Chat, par exemple users/123456789
.
{person_id}
pour le nom d'une ressource Person
dans l'API People, où resourceName
est people/{person_id}
. Par exemple, users/123456789
dans l'API Chat représente la même personne que people/123456789
dans l'API People.
id
pour une ressource User
dans l'API Directory (par exemple, users/123456789
dans l'API Chat représente la même personne que users/123456789
dans l'API Directory).
Pour un utilisateur d'une organisation Google Workspace externe ou d'un compte Google, utilisez un alias d'adresse e-mail (par exemple, users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com
ou users/EMAIL_USERNAME@gmail.com
).
Identifier un utilisateur à partir d'un événement d'interaction
Chaque fois qu'un utilisateur interagit avec une application Chat, Chat envoie un événement d'interaction contenant des informations sur l'interaction et l'utilisateur. Par exemple, lorsqu'un utilisateur mentionne une application Chat dans un message, l'application Chat reçoit des informations sur l'interaction, y compris le contenu du message et son expéditeur. Les applications Chat font référence aux utilisateurs lorsqu'elles récupèrent des informations sur les ressources Chat.
Pour identifier l'utilisateur qui a interagi avec une application Chat, obtenez la valeur de la propriété name
sur la ressource User
, que vous pouvez obtenir à partir de Event.user.name
.
L'exemple JSON suivant montre le format attendu de l'identité de l'utilisateur lors d'une interaction avec une application Chat:
{
...,
"user": {
"name": "users/12345678901234567890",
"displayName": "Sasha",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com"
}
}
Un message est un type d'interaction spécifique. Pour identifier un utilisateur qui a envoyé un message à une application Chat, obtenez la valeur de la propriété name
sur la ressource User
, à l'aide de l'une des méthodes suivantes:
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/21 (UTC).
[null,null,["Dernière mise à jour le 2024/12/21 (UTC)."],[[["\u003cp\u003eGoogle Chat apps can identify users through a unique \u003ccode\u003eUser\u003c/code\u003e resource with a \u003ccode\u003ename\u003c/code\u003e and \u003ccode\u003etype\u003c/code\u003e field to distinguish between bots and humans.\u003c/p\u003e\n"],["\u003cp\u003eYou can specify a user in API calls using their resource name, Person resource ID, Directory API ID, or email alias depending on their location and account type.\u003c/p\u003e\n"],["\u003cp\u003eChat apps receive user information during interactions through the \u003ccode\u003eUser\u003c/code\u003e resource within the event data, allowing identification and actions based on user details.\u003c/p\u003e\n"],["\u003cp\u003eUser identification enables features like mentioning users in messages, adding them to spaces, managing memberships, sending private messages, and subscribing to events.\u003c/p\u003e\n"],["\u003cp\u003eResources such as the \u003ccode\u003eUser\u003c/code\u003e and \u003ccode\u003ePerson\u003c/code\u003e objects, along with API guides, are available for further understanding and implementing user management in Chat apps.\u003c/p\u003e\n"]]],["Google Chat apps specify users to perform actions like @-mentioning, adding users to spaces, finding direct messages, retrieving membership details, sending private messages, and subscribing for membership change events. Users are identified via a `User` resource, with a unique `name` (e.g., `users/123456789`) and `type` (`BOT` or `HUMAN`). External users are specified using email aliases. Interactions with the Chat app include the user's `name` in the `Event.user.name` property.\n"],null,["# Identify and specify Google Chat users\n\nThis page explains the ways Google Chat apps can identify or specify\nChat users.\n\nTo do any of the following, a Chat app\nmust specify a user:\n\n- Create a message that [@ mentions a user](/workspace/chat/format-messages#messages-@mention).\n- Invite or add a user to an [existing space](/workspace/chat/create-members), or add a user to a [new space](/workspace/chat/set-up-spaces).\n- [Find direct messages](/workspace/chat/find-direct-message-in-spaces) between the Chat app and a specified user, or between two users.\n- [Get a user's membership details in a space](/workspace/chat/get-members).\n- [Send a private message](/workspace/chat/private-messages) to a user.\n- [Subscribe to a user](/workspace/chat/events-overview) using the Google Workspace Events API to get events about their membership changes.\n\nHow Chat identifies users\n-------------------------\n\nThe Google Chat API generates a\n[`User` resource](/workspace/chat/api/reference/rest/v1/User)\nfor each person that uses Chat. The following are two important\n`User` fields:\n\n- `name` is the resource name for the resource, formatted as `users/{user}`, where `{user}` represents a unique and stable identifier. `users/app` can be used as an alias for the calling Chat app.\n- `type` is the type of user. This type tells Chat whether the user is a Chat app or a person. For Chat apps, the value is `BOT`. For people, the value is `HUMAN`.\n\nSpecify a user in a call to the Google Chat API\n-----------------------------------------------\n\nTo specify a user, use the following values for the `{user}` value:\n\n- For users in your Google Workspace organization, use one of the\n following approaches:\n\n - The `name` of the [`User` resource](/workspace/chat/api/reference/rest/v1/User) in the Chat API, such as `users/123456789`.\n - The `{person_id}` for the name of a [`Person` resource](/people/api/rest/v1/people) in the People API, where the `resourceName` is `people/{person_id}`---for example, `users/123456789` in the Chat API represents the same person as `people/123456789` in the People API.\n - The `id` for a `User` resource in the Directory API---for example, `users/123456789` in the Chat API represents the same person as `users/123456789` in the Directory API.\n- For a user in an external Google Workspace organization, or a user\n who uses a Google Account, use an email alias---for example,\n `users/`\u003cvar translate=\"no\"\u003eEMAIL_USERNAME\u003c/var\u003e`@`\u003cvar translate=\"no\"\u003eWORKSPACE_DOMAIN\u003c/var\u003e`.com`\n or `users/`\u003cvar translate=\"no\"\u003eEMAIL_USERNAME\u003c/var\u003e`@gmail.com`.\n\nIdentify a user from an interaction event\n-----------------------------------------\n\nEvery time a user interacts with a Chat app,\nChat sends an\n[interaction event](/workspace/chat/receive-respond-interactions) with information about the\ninteraction and the user. For example, when a\nuser mentions a Chat app in a message, the\nChat app receives information about the interaction,\nincluding what the message says, and who sent it. Chat apps\nreference users when retrieving information about Chat resources.\n\nTo identify the user who interacted with a Chat app,\nget the value of the `name` property on the\n[`User` resource](/workspace/chat/api/reference/rest/v1/User),\nwhich you can get from\n[`Event.user.name`](/workspace/chat/api/reference/rest/v1/Event).\n\nThe following JSON example shows the expected format of the user identity in an\ninteraction with a Chat app: \n\n {\n ...,\n \"user\": {\n \"name\": \"users/12345678901234567890\",\n \"displayName\": \"Sasha\",\n \"avatarUrl\": \"https://lh3.googleusercontent.com/.../photo.jpg\",\n \"email\": \"sasha@example.com\"\n }\n }\n\nA message is a specific type of interaction. To identify a user who sent\na message to a Chat app,\nget the value of the `name` property on the\n[`User` resource](/workspace/chat/api/reference/rest/v1/User), using either of the\nfollowing:\n\n- [`spaces.messages.sender.name`](/workspace/chat/api/reference/rest/v1/spaces.messages)\n- [`Event.user.name`](/workspace/chat/api/reference/rest/v1/Event)\n\nRelated topics\n--------------\n\n- [Add a user to a space](/workspace/chat/api/guides/v1/members/create-members).\n- [Manage members in a space](/workspace/chat/list-members).\n- [@ mention a user in a message](/workspace/chat/format-messages#messages-@mention)."]]