Hướng dẫn này giải thích cách sử dụng phương thức findDirectMessage
trên Space
về API Google Chat để xem thông tin chi tiết về một không gian nhắn tin trực tiếp (DM).
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.
Xác thực với xác thực ứng dụng cho phép một ứng dụng Chat nhận tin nhắn trực tiếp Ứng dụng Chat có quyền truy cập trong Google Chat (ví dụ: tin nhắn trực tiếp là thành viên). Xác thực với xác thực người dùng trả về các tin nhắn trực tiếp 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.
Tìm một tin nhắn trực tiếp
Để tìm một tin nhắn trực tiếp trong Google Chat, hãy chuyển thông tin sau vào yêu cầu của bạn:
- Với tính năng xác thực ứng dụng, hãy chỉ định
Phạm vi uỷ quyền
chat.bot
. Bằng xác thực người dùng, chỉ định phạm vi uỷ quyềnchat.spaces.readonly
hoặcchat.spaces
. - Gọi
Phương thức
findDirectMessage
trên tài nguyênUser
, truyềnname
của người dùng khác trong tin nhắn trực tiếp trả lại. Bằng xác thực người dùng, phương thức này sẽ trả về một tin nhắn trực tiếp giữa người dùng đang gọi và người dùng được chỉ định. Bằng xác thực ứng dụng, phương pháp này trả về một tin nhắn trực tiếp giữa ứng dụng gọi và người dùng được chỉ định. - Để thêm một người dùng làm thành viên không gian, hãy chỉ định
users/{user}
, trong đó{user}
là{person_id}
choperson
từ API Mọi người hoặc mã nhận dạng củauser
trong API thư mục. Ví dụ: nếu người dùng API Mọi ngườiresourceName
làpeople/123456789
, bạn có thể thêm người dùng này vào không gian bằng cách thêm trong đó cóusers/123456789
làmember.name
.
Tìm tin nhắn trực tiếp bằng quy trình xác thực người dùng
Dưới đây là cách tìm tin nhắn trực tiếp bằng xác thực người dùng:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_space_find_dm_user.py
. Đưa mã sau vào
chat_space_find_dm_user.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 returns details about a specified DM. ''' # 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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() # Prints details about the direct message. print(result) if __name__ == '__main__': main()
Trong mã, hãy thay thế
USER
bằngname
của mộtUser
trong Google Chat.Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_space_find_dm_user.py
Node.js
Trong thư mục đang làm việc, hãy tạo một tệp có tên
find-direct-message-space.js
.Đưa mã sau vào
find-direct-message-space.js
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { 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.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
Trong mã, hãy thay thế
USER
bằngname
của mộtUser
trong Google Chat.Trong thư mục đang làm việc, hãy chạy mẫu:
node find-direct-message-space.js
API Chat trả về một phiên bản của
Space
nêu chi tiết DM được chỉ định.
Tìm tin nhắn trực tiếp bằng tính năng xác thực ứng dụng
Dưới đây là cách tìm tin nhắn trực tiếp bằng xác thực ứng dụng:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên
chat_space_find_dm_app.py
. Đưa mã sau vào
chat_space_find_dm_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().findDirectMessage( # The other user in the direct message (DM) to return. # # Replace USER with a user name. name='users/USER' ).execute() print(result)
Trong mã, hãy thay thế
USER
bằngname
của mộtUser
trong Google Chat.Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_space_find_dm_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-find-direct-message-space.js
.Đưa mã sau vào
app-find-direct-message-space.js
:const chat = require('@googleapis/chat'); /** * Find a direct message Chat space for a user. * @return {!Promise<!Object>} */ async function findDirectMessageSpace() { 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.findDirectMessage( {name: 'users/USER'}); } findDirectMessageSpace().then(console.log);
Trong mã, hãy thay thế
USER
bằngname
của mộtUser
trong Google Chat.Trong thư mục đang làm việc, hãy chạy mẫu:
node app-find-direct-message-space.js
API Chat trả về một phiên bản của
Space
nêu chi tiết tin nhắn trực tiếp được chỉ định.
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.
- Liệt kê không gian.
- Cập nhật không gian.
- Xoá không gian.