Identyfikowanie i określanie użytkowników Google Chat
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Na tej stronie wyjaśniamy, jak aplikacje Google Chat mogą identyfikować lub wskazywać użytkowników czatu.
Aby wykonać którąkolwiek z tych czynności, aplikacja Google Chat musi określić użytkownika:
Jak Google Chat identyfikuje użytkowników
Interfejs Google Chat API generujeUser
zasób dla każdej osoby korzystającej z Google Chat. Oto 2 ważne pola:User
name
to nazwa zasobu w formacie users/{user}
, gdzie {user}
to unikalny i stabilny identyfikator. users/app
może służyć jako alias do aplikacji Google Chat do wykonywania połączeń.
type
to typ użytkownika. Ten typ określa, czy użytkownik jest aplikacją Google Chat czy osobą. W przypadku aplikacji do czatu wartość to BOT
. W przypadku osób jest to wartość HUMAN
.
Określanie użytkownika w wywołaniu interfejsu Google Chat API
Aby określić użytkownika, użyj tych wartości w polu {user}
:
W przypadku użytkowników w organizacji Google Workspace zastosuj jedną z tych metod:
name
zasobu User
w interfejsie Chat API, np. users/123456789
.
{person_id}
to nazwa zasobu Person
w People API, gdzie resourceName
to people/{person_id}
– na przykład users/123456789
w Chat API reprezentuje tę samą osobę co people/123456789
w People API.
id
zasobu User
w Directory API – na przykład users/123456789
w Chat API reprezentuje tę samą osobę co users/123456789
w Directory API.
W przypadku użytkownika z zewnętrznej organizacji Google Workspace lub użytkownika, który korzysta z konta Google, użyj aliasu e-mail, na przykład:
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com
lub users/EMAIL_USERNAME@gmail.com
.
Identyfikowanie użytkownika na podstawie zdarzenia interakcji
Za każdym razem, gdy użytkownik wchodzi w interakcję z aplikacją Google Chat, Chat wysyła zdarzenie interakcji z informacjami o tej interakcji i użytkowniku. Jeśli na przykład użytkownik wspomni w wiadomości o aplikacji Google Chat, aplikacja Google Chat otrzyma informacje o tej interakcji, w tym o treści wiadomości i jej nadawcy. Aplikacje do obsługi czatu odwołują się do użytkowników podczas pobierania informacji o zasobach Google Chat.
Aby zidentyfikować użytkownika, który wszedł w interakcję z aplikacją Google Chat, pobierz wartość właściwości name
w zasobach User
, do których możesz uzyskać dostęp z poziomu Event.user.name
.
Ten przykładowy kod JSON pokazuje oczekiwany format tożsamości użytkownika w interakcjach z aplikacją do czatu:
{
...,
"user": {
"name": "users/12345678901234567890",
"displayName": "Sasha",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com"
}
}
Wiadomość to określony typ interakcji. Aby zidentyfikować użytkownika, który wysłał wiadomość do aplikacji Google Chat, uzyskaj wartość właściwości name
w zasobach User
, korzystając z jednej z tych metod:
O ile nie stwierdzono inaczej, treść tej strony jest objęta licencją Creative Commons – uznanie autorstwa 4.0, a fragmenty kodu są dostępne na licencji Apache 2.0. Szczegółowe informacje na ten temat zawierają zasady dotyczące witryny Google Developers. Java jest zastrzeżonym znakiem towarowym firmy Oracle i jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2024-12-21 UTC.
[null,null,["Ostatnia aktualizacja: 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)."]]