Xác định và chỉ định người dùng Google Chat
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Trang này giải thích cách các ứng dụng Google Chat có thể xác định hoặc chỉ định người dùng Chat.
Để thực hiện bất kỳ thao tác nào sau đây, ứng dụng Chat phải chỉ định một người dùng:
Cách Chat xác định người dùng
API Google Chat tạo một tài nguyên User
cho mỗi người dùng Chat. Sau đây là hai trường User
quan trọng:
name
là tên tài nguyên cho tài nguyên, được định dạng là users/{user}
, trong đó {user}
biểu thị một giá trị nhận dạng duy nhất và ổn định. Bạn có thể sử dụng users/app
làm bí danh cho ứng dụng Chat gọi.
type
là loại người dùng. Loại này cho Chat biết liệu người dùng là một ứng dụng Chat hay một người. Đối với ứng dụng Chat, giá trị là BOT
. Đối với người dùng, giá trị này là HUMAN
.
Chỉ định người dùng trong lệnh gọi đến API Google Chat
Để chỉ định người dùng, hãy sử dụng các giá trị sau cho giá trị {user}
:
Đối với người dùng trong tổ chức Google Workspace, hãy sử dụng một trong các phương pháp sau:
name
của
tài nguyên User
trong API Chat, chẳng hạn như users/123456789
.
{person_id}
cho tên của một tài nguyên Person
trong API People, trong đó resourceName
là people/{person_id}
. Ví dụ: users/123456789
trong API Chat đại diện cho cùng một người với people/123456789
trong API People.
id
cho tài nguyên User
trong Directory API – ví dụ: users/123456789
trong Chat API đại diện cho cùng một người với users/123456789
trong Directory API.
Đối với người dùng trong một tổ chức Google Workspace bên ngoài hoặc người dùng sử dụng Tài khoản Google, hãy sử dụng bí danh email, ví dụ: users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com
hoặc users/EMAIL_USERNAME@gmail.com
.
Xác định người dùng từ một sự kiện tương tác
Mỗi khi người dùng tương tác với ứng dụng Chat, Chat sẽ gửi một sự kiện tương tác có thông tin về lượt tương tác và người dùng. Ví dụ: khi người dùng đề cập đến một ứng dụng Chat trong tin nhắn, ứng dụng Chat sẽ nhận được thông tin về lượt tương tác, bao gồm cả nội dung tin nhắn và người gửi. Ứng dụng Chat tham chiếu người dùng khi truy xuất thông tin về tài nguyên của Chat.
Để xác định người dùng đã tương tác với ứng dụng Chat, hãy lấy giá trị của thuộc tính name
trên tài nguyên User
mà bạn có thể lấy từ Event.user.name
.
Ví dụ JSON sau đây cho thấy định dạng dự kiến của danh tính người dùng trong một lượt tương tác với ứng dụng Chat:
{
...,
"user": {
"name": "users/12345678901234567890",
"displayName": "Sasha",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com"
}
}
Tin nhắn là một loại tương tác cụ thể. Để xác định người dùng đã gửi tin nhắn đến một ứng dụng Chat, hãy lấy giá trị của thuộc tính name
trên tài nguyên User
bằng cách sử dụng một trong các cách sau:
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2024-12-21 UTC.
[null,null,["Cập nhật lần gần đây nhất: 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)."]]