ระบุตัวผู้ใช้ Google Chat
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
หน้านี้อธิบายวิธีที่แอป Google Chat สามารถระบุหรือระบุผู้ใช้ Chat
หากต้องการดำเนินการต่อไปนี้ แอป Chat ต้องระบุผู้ใช้
วิธีที่ Chat ระบุผู้ใช้
Google Chat API จะสร้างUser
ทรัพยากรสำหรับผู้ใช้แต่ละคนที่ใช้ Chat ฟิลด์User
ที่สำคัญ 2 ฟิลด์มีดังนี้
name
คือชื่อทรัพยากรของทรัพยากร โดยอยู่ในรูปแบบ users/{user}
โดยที่ {user}
เป็นตัวระบุที่ไม่ซ้ำและเสถียร users/app
สามารถใช้เป็นอีเมลแทนสําหรับแอป Chat ที่ใช้โทรได้
type
คือประเภทผู้ใช้ ประเภทนี้จะบอกให้ Chat ทราบว่าผู้ใช้เป็นแอป Chat หรือบุคคล สำหรับแอปรับแชท ค่าจะเป็น BOT
สำหรับบุคคล ค่าจะเป็น
HUMAN
ระบุผู้ใช้ในการเรียกใช้ Google Chat API
หากต้องการระบุผู้ใช้ ให้ใช้ค่าต่อไปนี้สำหรับค่า {user}
สำหรับผู้ใช้ในองค์กร Google Workspace ให้ใช้แนวทางใดแนวทางหนึ่งต่อไปนี้
name
ของทรัพยากร User
ใน Chat API เช่น users/123456789
{person_id}
สำหรับชื่อแหล่งข้อมูล Person
ใน People API โดยที่ resourceName
คือ people/{person_id}
เช่น users/123456789
ใน Chat API แสดงถึงบุคคลเดียวกันกับ people/123456789
ใน People API
id
สำหรับทรัพยากร User
ใน Directory API เช่น users/123456789
ใน Chat API แสดงถึงบุคคลเดียวกันกับ users/123456789
ใน Directory API
สำหรับผู้ใช้ในองค์กร Google Workspace ภายนอกหรือผู้ใช้ที่ใช้บัญชี Google ให้ใช้อีเมลแทน เช่น
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com
หรือ users/EMAIL_USERNAME@gmail.com
ระบุผู้ใช้จากเหตุการณ์การโต้ตอบ
ทุกครั้งที่ผู้ใช้โต้ตอบกับแอป Chat
Chat จะส่งเหตุการณ์การโต้ตอบพร้อมข้อมูลเกี่ยวกับการโต้ตอบและผู้ใช้ เช่น เมื่อผู้ใช้พูดถึงแอป Chat ในข้อความ แอป Chat จะได้รับข้อมูลเกี่ยวกับการโต้ตอบ ซึ่งรวมถึงสิ่งที่ข้อความพูดและผู้ส่ง แอป Chat จะอ้างอิงผู้ใช้เมื่อดึงข้อมูลเกี่ยวกับทรัพยากรของ Chat
หากต้องการระบุผู้ใช้ที่โต้ตอบกับแอป Chat ให้รับค่าของพร็อพเพอร์ตี้ name
ในแหล่งข้อมูล User
ซึ่งคุณรับได้จาก Event.user.name
ตัวอย่าง JSON ต่อไปนี้แสดงรูปแบบที่คาดไว้ของข้อมูลประจำตัวของผู้ใช้ในการโต้ตอบกับแอป Chat
{
...,
"user": {
"name": "users/12345678901234567890",
"displayName": "Sasha",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com"
}
}
ข้อความเป็นการโต้ตอบประเภทหนึ่ง หากต้องการระบุผู้ใช้ที่ส่งข้อความไปยังแอป Chat ให้รับค่าของพร็อพเพอร์ตี้ name
ในทรัพยากร User
โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2024-12-21 UTC
[null,null,["อัปเดตล่าสุด 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)."]]