Hướng dẫn này giải thích cách sử dụng phương thức create
trên tài nguyên membership
của API Google Chat để mời hoặc thêm người dùng hoặc ứng dụng Chat vào một không gian còn gọi là tạo gói thành viên. Khi tạo thành viên, nếu thành viên được chỉ định đã tắt chính sách tự động chấp nhận, thì họ sẽ được mời và phải chấp nhận lời mời trong không gian trước khi tham gia. Nếu không, việc tạo thành viên sẽ thêm thành viên trực tiếp vào không gian đã chỉ định.
Tài nguyên Membership
cho biết người dùng thực hoặc ứng dụng Google Chat được mời tham gia, tham gia hay không tham gia không gian.
Điều kiện tiên quyết
Python
- Python 3.6 trở lên
- Công cụ quản lý gói pip
Các thư viện ứng dụng mới nhất của Google dành cho Python. Để cài đặt hoặc cập nhật các công cụ này, hãy chạy lệnh sau trong giao diện dòng lệnh của bạn:
pip3 install --upgrade google-api-python-client google-auth-oauthlib
- Một dự án trên Google Cloud đã bật và thiết lập API Google Chat. Để biết các bước, hãy xem bài viết Tạo ứng dụng Google Chat.
Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Để tạo gói thành viên, bạn cần phải Xác thực người dùng trong phạm vi uỷ quyền
chat.memberships
hoặcchat.memberships.app
.
Node.js
- Node.js và npm
Thư viện ứng dụng mới nhất của Google dành cho Node.js. Để cài đặt các công cụ này, hãy chạy lệnh sau trong giao diện dòng lệnh của bạn:
npm install @google-cloud/local-auth @googleapis/chat
- Một dự án trên Google Cloud đã bật và thiết lập API Google Chat. Để biết các bước, hãy xem bài viết Tạo ứng dụng Google Chat.
Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Để tạo gói thành viên, bạn cần phải Xác thực người dùng trong phạm vi uỷ quyền
chat.memberships
hoặcchat.memberships.app
.
Mời hoặc thêm người dùng vào không gian
Để mời hoặc thêm người dùng vào một không gian, hãy chuyển các thông tin sau vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.memberships
. - Gọi phương thức
create
trên tài nguyênmembership
. - Đặt
parent
thành tên tài nguyên của không gian mà bạn muốn tạo thành viên. - Đặt
member
thànhusers/{user}
, trong đó{user}
là người mà bạn muốn tạo thành viên và là:- Mã nhận dạng của người đó trong API Mọi người. Ví dụ: nếu người API People
resourceName
làpeople/123456789
, thì hãy đặtmembership.member.name
thànhusers/123456789
. - Mã nhận dạng cho người dùng trong Directory API.
- Địa chỉ email của người dùng. Ví dụ:
users/222larabrown@gmail.com
hoặcusers/larabrown@cymbalgroup.com
. Nếu người dùng sử dụng Tài khoản Google hoặc thuộc một tổ chức Google Workspace khác, thì bạn phải sử dụng địa chỉ email của họ.
- Mã nhận dạng của người đó trong API Mọi người. Ví dụ: nếu người API People
Ví dụ sau đây thêm một người dùng vào không gian:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên là
chat_membership_user_create.py
. Đưa mã sau vào
chat_membership_user_create.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships"] def main(): ''' Authenticates with Chat API via user credentials, then adds a user to a Chat space by creating a membership. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Specify which user the membership is for. body = { 'member': { 'name':'users/USER', 'type': 'HUMAN' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế các đoạn mã sau:
SPACE
: tên không gian mà bạn có thể lấy từ phương thứcspaces.list
trong API Chat hoặc từ URL của một không gian.USER
: một mã nhận dạng người dùng.
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_membership_user_create.py
Node.js
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
add-user-to-space.js
. Đưa mã sau vào
add-user-to-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the user to the Chat space. * @return {!Promise<!Object>} */ async function addUserToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/USER', type: 'HUMAN'}} }); } addUserToSpace().then(console.log);
Trong mã, hãy thay thế các đoạn mã sau:
SPACE
: tên không gian mà bạn có thể lấy từ phương thứcspaces.list
trong API Chat hoặc từ URL của một không gian.USER
: một mã nhận dạng người dùng.
Trong thư mục đang làm việc của bạn, hãy chạy mẫu:
node add-user-to-space.js
API Chat trả về một thực thể của membership
cho biết thông tin chi tiết về gói thành viên đã được tạo.
Thêm ứng dụng Chat vào không gian
Một ứng dụng nhắn tin không thể thêm một ứng dụng khác làm thành viên vào không gian. Để thêm ứng dụng trong Chat vào một không gian hoặc tin nhắn trực tiếp giữa 2 người dùng, hãy chuyển nội dung sau đây vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.memberships.app
. - Gọi phương thức
create
trên tài nguyênmembership
. - Đặt
parent
thành tên tài nguyên của không gian mà bạn muốn tạo thành viên. - Đặt
member
thànhusers/app
; một bí danh đại diện cho ứng dụng gọi API Chat.
Ví dụ sau đây thêm một ứng dụng Chat vào một không gian:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên là
chat_membership_app_create.py
. Đưa mã sau vào
chat_membership_app_create.py
:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships.app"] def main(): ''' Authenticates with Chat API via user credentials, then adds the Chat app to a Chat space. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.spaces().members().create( # The space in which to create a membership. parent = 'spaces/SPACE', # Set the Chat app as the entity that gets added to the space. # 'app' is an alias for the Chat app calling the API. body = { 'member': { 'name':'users/app', 'type': 'BOT' } } ).execute() # Prints details about the created membership. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế
SPACE
bằng tên không gian. Bạn có thể lấy tên này từ phương thứcspaces.list
trong API Chat hoặc từ URL của không gian.Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_membership_app_create.py
Node.js
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
add-app-to-space.js
. Đưa mã sau vào
add-app-to-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Adds the app to the Chat space. * @return {!Promise<!Object>} */ async function addAppToSpace() { const scopes = [ 'https://www.googleapis.com/auth/chat.memberships.app', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.members.create({ parent: 'spaces/SPACE', requestBody: {member: {name: 'users/app', type: 'BOT'}} }); } addAppToSpace().then(console.log);
Trong mã, hãy thay thế
SPACE
bằng tên không gian. Bạn có thể lấy tên này từ phương thứcspaces.list
trong API Chat hoặc từ URL của không gian.Trong thư mục đang làm việc của bạn, hãy chạy mẫu:
node add-app-to-space.js
API Chat trả về một thực thể của membership
cho biết thông tin chi tiết về gói thành viên đã được tạo.
Chủ đề có liên quan
- Xem thông tin chi tiết về gói thành viên của người dùng hoặc ứng dụng Chat.
- Liệt kê thành viên trong một không gian.
- Cập nhật gói thành viên của người dùng trong phòng Google Chat.
- Xoá người dùng hoặc ứng dụng Chat khỏi một không gian.