Hướng dẫn này giải thích cách sử dụng tài nguyên list
trên tài nguyên Space
của
API Google Chat để liệt kê các không gian. Không gian danh sách trả về một giá trị được phân trang, có thể lọc
danh sách không gian.
Chiến lược phát hành đĩa đơn
Tài nguyên Space
đại diện cho nơi mọi người và các ứng dụng trong Chat có thể gửi tin nhắn,
chia sẻ tệp và cộng tác. Có một số loại không gian:
- Tin nhắn trực tiếp (DM) là các cuộc trò chuyện giữa hai người dùng hoặc một người dùng và ứng dụng Chat.
- Cuộc trò chuyện nhóm là các cuộc trò chuyện giữa ba người dùng trở lên và Ứng dụng nhắn tin.
- Không gian được đặt tên là những địa điểm cố định nơi mọi người gửi tin nhắn, chia sẻ tệp, và cộng tác.
Không gian danh sách chứa xác thực ứng dụng liệt kê các không gian mà ứng dụng Chat có quyền truy cập. Danh sách không gian với Xác thực người dùng liệt kê các không gian mà người dùng đã xác thực có quyền truy cập.
Điều kiện tiên quyết
Python
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat.
- Cài đặt Python Thư viện ứng dụng API của Google.
- Tạo thông tin xác thực truy cập dựa trên cách bạn muốn xác thực trong API Google Chat
yêu cầu:
- Cách xác thực là người dùng Chat:
tạo mã ứng dụng OAuth
thông tin xác thực và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
client_secrets.json
vào thư mục địa phương của bạn. - Cách xác thực là ứng dụng Chat:
tạo tài khoản dịch vụ
thông tin xác thực và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
credentials.json
.
- Cách xác thực là người dùng Chat:
tạo mã ứng dụng OAuth
thông tin xác thực và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực là người dùng hay Ứng dụng Chat.
Node.js
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat.
- Cài đặt Node.js Thư viện ứng dụng API của Google.
- Tạo thông tin xác thực truy cập dựa trên cách bạn muốn xác thực trong API Google Chat
yêu cầu:
- Cách xác thực là người dùng Chat:
tạo mã ứng dụng OAuth
thông tin xác thực và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
client_secrets.json
vào thư mục địa phương của bạn. - Cách xác thực là ứng dụng Chat:
tạo tài khoản dịch vụ
thông tin xác thực và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
credentials.json
.
- Cách xác thực là người dùng Chat:
tạo mã ứng dụng OAuth
thông tin xác thực và lưu thông tin đăng nhập dưới dạng tệp JSON có tên
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực là người dùng hay Ứng dụng Chat.
Liệt kê các không gian có xác thực người dùng
Để liệt kê các không gian trong Google Chat, hãy truyền những thông tin sau vào yêu cầu:
- Bằng
xác thực người dùng,
chỉ định phạm vi uỷ quyền
chat.spaces.readonly
hoặcchat.spaces
. - Gọi
Phương thức
list
trênSpace
tài nguyên.
Ví dụ sau đây liệt kê các không gian có tên và cuộc trò chuyện nhóm (nhưng không trực tiếp) thông báo được lọc ra) hiển thị cho người dùng đã xác thực:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_space_list.py
. Đưa mã sau vào
chat_space_list.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.spaces.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists named spaces and group chats (but not direct messages) visible to the authenticated user. ''' # 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().list( # An optional filter that returns named spaces or unnamed group chats, # but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() # Prints the returned list of spaces. print(result) if __name__ == '__main__': main()
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_space_list.py
Node.js
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
list-spaces.js
. Đưa mã sau vào
list-spaces.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.spaces.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
Trong thư mục đang làm việc, hãy chạy mẫu:
node list-spaces.js
API Chat trả về một nhiều không gian được đặt tên và cuộc trò chuyện nhóm được phân trang.
Liệt kê không gian bằng phương thức xác thực ứng dụng
Để liệt kê các không gian trong Google Chat, hãy truyền những thông tin sau vào yêu cầu:
- Bằng
xác thực ứng dụng,
chỉ định phạm vi uỷ quyền
chat.bot
. - Gọi
Phương thức
list
trênSpace
tài nguyên.
Ví dụ sau đây liệt kê các không gian có tên và cuộc trò chuyện nhóm (nhưng không trực tiếp) tin nhắn) hiển thị cho ứng dụng Chat:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_space_list_app.py
. Đưa mã sau vào
chat_space_list_app.py
:from google.oauth2 import service_account from apiclient.discovery import build # Specify required scopes. SCOPES = ['https://www.googleapis.com/auth/chat.bot'] # Specify service account details. CREDENTIALS = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # Build the URI and authenticate with the service account. chat = build('chat', 'v1', credentials=CREDENTIALS) # Use the service endpoint to call Chat API. result = chat.spaces().list( # An optional filter that returns named spaces or unnamed # group chats, but not direct messages (DMs). filter='spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' ).execute() print(result)
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_space_list_app.py
Node.js
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
app-list-spaces.js
. Đưa mã sau vào
app-list-spaces.js
:const chat = require('@googleapis/chat'); /** * List Chat spaces. * @return {!Promise<!Object>} */ async function listSpaces() { const scopes = [ 'https://www.googleapis.com/auth/chat.bot', ]; const auth = new chat.auth.GoogleAuth({ scopes, keyFilename: 'credentials.json', }); const authClient = await auth.getClient(); const chatClient = await chat.chat({version: 'v1', auth: authClient}); return await chatClient.spaces.list({ filter: 'spaceType = "SPACE" OR spaceType = "GROUP_CHAT"' }); } listSpaces().then(console.log);
Trong thư mục đang làm việc, hãy chạy mẫu:
node app-list-spaces.js
API Chat trả về một mảng không gian được phân trang.
Tuỳ chỉnh chế độ phân trang hoặc lọc danh sách
Để liệt kê các không gian trong Google Chat, hãy truyền những thông tin không bắt buộc sau tham số truy vấn để tuỳ chỉnh cách phân trang hoặc lọc các không gian có trong danh sách:
pageSize
: Số lượng dấu cách tối đa cần trả về. Dịch vụ có thể trả về nhỏ hơn giá trị này. Nếu bạn không chỉ định thì hệ thống sẽ trả về tối đa 100 dấu cách. Chiến lược phát hành đĩa đơn giá trị tối đa là 1.000; lớn hơn 1.000 sẽ được tự động thay đổi thành 1.000.pageToken
: Mã thông báo trang, nhận được từ một lệnh gọi không gian danh sách trước đó. Hãy cung cấp mã thông báo này để truy xuất trang tiếp theo. Khi phân trang, giá trị bộ lọc phải khớp với lệnh gọi đã cung cấp mã thông báo trang. Truyền giá trị khác nhau có thể dẫn đến kết quả không mong muốn.filter
: Bộ lọc truy vấn. Để biết thông tin chi tiết được hỗ trợ về truy vấn, hãy xem Phương thứcspaces.list
.
Chủ đề có liên quan
- Tạo không gian.
- Thiết lập không gian.
- Xem thông tin chi tiết về một không gian.
- Cập nhật không gian.
- Xoá không gian.
- Tìm một không gian tin nhắn trực tiếp.