Trang này giải thích cách các ứng dụng Google Chat và nhà phát triển có thể xác định và 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 hoặc nhà phát triển phải chỉ định một người dùng:
- Tạo một tin nhắn @ đề cập đến một người dùng.
- Mời hoặc thêm người dùng vào một không gian hiện có, hoặc thêm người dùng vào một không gian mới.
- Tìm tin nhắn trực tiếp giữa ứng dụng Chat và một người dùng cụ thể hoặc giữa hai người dùng.
- Lấy thông tin chi tiết về tư cách thành viên của người dùng trong một không gian.
- Gửi tin nhắn riêng tư cho một người dùng.
- Đăng ký theo dõi người dùng bằng Google Workspace Events API để nhận các sự kiện về thay đổi đối với tư cách thành viên của họ.
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 và ứng dụng sử dụng Chat. Tài nguyên User chứa các trường sau:
name: Tên tài nguyên, được định dạng làusers/{user}, trong đó{user}đại diện cho một giá trị nhận dạng riêng biệt và ổn định. Bạn có thể dùngusers/applàm biệt hiệu cho ứng dụng Chat gọi điện.displayName: Chỉ đầu ra. Tên hiển thị của người dùng.avatarUrl: Chỉ đầu ra. URL hình ảnh đại diện của người dùng.email: Chỉ đầu ra. Địa chỉ email của người dùng.domainId: Giá trị nhận dạng duy nhất của miền Google Workspace của người dùng.type: Loại người dùng. Tham số này cho biết người dùng là ứng dụng trò chuyện (BOT) hay một người (HUMAN).isAnonymous: Chỉ đầu ra. Khitrue, cho biết người dùng đã bị xoá hoặc hồ sơ của họ không xuất hiện.
Chi tiết hồ sơ người dùng và quy tắc hiển thị
Khi gọi API Tin nhắn và API Thành viên bằng cách sử dụng xác thực người dùng, Google Chat API sẽ điền thông tin chi tiết về hồ sơ vào tài nguyên User.
API này điền sẵn displayName, email và avatarUrl cho cả người dùng nội bộ (trong tổ chức Google Workspace của bạn) và người dùng bên ngoài (trong các tổ chức bên ngoài hoặc Tài khoản Google cá nhân).
Sau đây là ví dụ về những vị trí mà API điền sẵn hồ sơ người dùng:
sendercủaMessage.- Người dùng trong thư
annotations, chẳng hạn như người dùng@mentions. membertrong tài nguyênMembership.
Quy tắc về quyền riêng tư và khả năng hiển thị
Để bảo vệ quyền riêng tư của người dùng, Google Chat API áp dụng các quy tắc hiển thị cụ thể khi xác định có nên điền sẵn thông tin chi tiết về hồ sơ của người dùng hay không:
- Hồ sơ có thông tin: API sẽ điền sẵn thông tin chi tiết về hồ sơ (
displayName,emailvàavatarUrlxuất hiện, cònisAnonymouslàfalse) nếu người dùng đã chấp nhận lời mời tham gia một không gian (là thành viên của không gian) hoặc có mối quan hệ thân thiết trước đó (chẳng hạn như nhật ký tương tác bằng tin nhắn trực tiếp) với người dùng gọi. - Hồ sơ ẩn danh: Nếu một người dùng được đề cập trong một không gian mà không phải là thành viên và không có mối quan hệ thân thiết trước đó với người dùng gọi, thì hồ sơ của người dùng đó vẫn ẩn danh. Đối với người dùng ẩn danh,
isAnonymouslàtruevà các thông tin chi tiết nhưdisplayName,emailvàavatarUrlsẽ bị bỏ qua. Tuy nhiên, đối với các yêu cầu API được thực hiện bằng xác thực ứng dụng, trườngdisplayNameluôn được điền sẵn.
Ví dụ về JSON sau đây cho thấy một tài nguyên User có thông tin chi tiết về hồ sơ được điền sẵn, trả về trong một phản hồi API hoặc sự kiện tương tác:
{
"name": "users/12345678901234567890",
"displayName": "Sasha",
"domainId": "123abc",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com",
"type": "HUMAN",
"isAnonymous": false
}
Ví dụ về JSON sau đây cho thấy một tài nguyên User ẩn danh, trong đó người gọi không thấy thông tin chi tiết về hồ sơ người dùng:
{
"name": "users/10987654321098765432",
"type": "HUMAN",
"isAnonymous": true
}
Chỉ định một người dùng trong lệnh gọi đến Google Chat API
Để chỉ định một 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 của bạn, hãy sử dụng một trong những cách tiếp cận sau:
namecủa tài nguyênUsertrong Chat API, chẳng hạn nhưusers/123456789.{person_id}cho tên của tài nguyênPersontrong People API, trong đóresourceNamelàpeople/{person_id}– ví dụ:users/123456789trong Chat API đại diện cho cùng một người vớipeople/123456789trong People API.idcho tài nguyênUsertrong Directory API (ví dụ:users/123456789trong Chat API) đại diện cho cùng một người vớiusers/123456789trong Directory API.- Đối với các yêu cầu API được thực hiện bằng xác thực người dùng, địa chỉ email của người dùng dưới dạng một biệt hiệu, ví dụ:
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.com.
Đố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 một trong những cách sau:
- Email đại diện – ví dụ:
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.comhoặcusers/EMAIL_USERNAME@gmail.com. namechuẩn của tài nguyênUser(chẳng hạn nhưusers/12345678901234567890) nhận được từ một lệnh gọi API hoặc sự kiện tương tác trước đó.
- Email đại diện – ví dụ:
Xác định người dùng từ một sự kiện tương tác hoặc phản hồi API
Bạn có thể xác định người dùng được trả về từ các lệnh gọi API hoặc sự kiện đến theo một số cách:
- Messages API: Nhận danh tính của người gửi từ
Message.senderhoặc người dùng được đề cập từMessage.annotations[].userMention.user. - Memberships API: Lấy danh tính của thành viên từ
Membership.member. - Sự kiện tương tác: Khi người dùng tương tác với một ứng dụng Chat, Chat sẽ gửi một sự kiện tương tác có danh tính của người dùng trong
Event.user.
Vì Google Chat API điền sẵn thông tin hồ sơ cho cả người dùng nội bộ và bên ngoài khi sử dụng tính năng xác thực người dùng, nên nhà phát triển không cần gọi Directory API để phân giải tên hoặc email của các thành viên và người gửi tin nhắn.
Chủ đề có liên quan
- Xác thực và uỷ quyền với tư cách là người dùng Google Chat.
- Thêm người dùng vào không gian.
- Quản lý thành viên trong không gian.
- Đề cập đến người dùng bằng@ trong tin nhắn.
- Tài liệu tham khảo API REST của tài nguyên
User.