Hướng dẫn này giải thích cách sử dụng phương thức getSpaceReadState
trên tài nguyên SpaceReadState
của API Google Chat để biết thông tin chi tiết về trạng thái đọc của người dùng trong một không gian. Để biết trạng thái đã đọc của một tin nhắn trong một chuỗi tin nhắn, hãy xem phần Nhận thông tin chi tiết về trạng thái đọc chuỗi tin nhắn của người dùng.
Tài nguyên SpaceReadState
là tài nguyên singleton trình bày thông tin chi tiết về tin nhắn đọc gần đây nhất của người dùng được chỉ định trong không gian Google Chat.
Đ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. Để nhận được thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, bạn cần phải xác thực người dùng có phạm vi uỷ quyền
chat.users.readstate
hoặcchat.users.readstate.readonly
.
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. Để nhận được thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, bạn cần phải xác thực người dùng có phạm vi uỷ quyền
chat.users.readstate
hoặcchat.users.readstate.readonly
.
Apps Script
- Một tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Một ứng dụng Chat đã phát hành. Để tạo ứng dụng Chat, hãy làm theo phần quickstart này.
- Đã định cấu hình hoạt động uỷ quyền cho ứng dụng Chat. Để nhận được thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, bạn cần phải xác thực người dùng có phạm vi uỷ quyền
chat.users.readstate
hoặcchat.users.readstate.readonly
.
Xem trạng thái đọc không gian của người dùng gọi
Để biết thông tin chi tiết về trạng thái đọc của người dùng trong một không gian, hãy đưa nội dung sau vào yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.users.readstate
hoặcchat.users.readstate.readonly
. - Gọi phương thức
getSpaceReadState
trên tài nguyênSpaceReadState
. - Truyền
name
của trạng thái đọc không gian để lấy, bao gồm mã nhận dạng người dùng hoặc email đại diện và mã không gian. Việc nhận trạng thái đọc không gian chỉ hỗ trợ việc nhận trạng thái đọc của người dùng đang gọi. Bạn có thể chỉ định trạng thái này bằng cách đặt một trong các mục sau:- Bí danh
me
. Ví dụ:users/me/spaces/SPACE/spaceReadState
. - Địa chỉ email Workspace của người dùng gọi. Ví dụ:
users/user@example.com/spaces/SPACE/spaceReadState
. - Mã nhận dạng người dùng của người dùng gọi. Ví dụ:
users/USER/spaces/SPACE/spaceReadState
.
- Bí danh
Ví dụ sau đây minh hoạ trạng thái đọc không gian của người dùng gọi:
Python
- Trong thư mục đang làm việc, hãy tạo một tệp có tên là
chat_spaceReadState_get.py
. Đưa mã sau vào
chat_spaceReadState_get.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.users.readstate.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then gets the space read state for the calling 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.users().spaces().getSpaceReadState( # The space read state to get. # # Replace USER with the calling user's ID, Workspace email, # or the alias me. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='users/me/spaces/SPACE/spaceReadState' ).execute() # Prints the API's response. 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.
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
python3 chat_spaceReadState_get.py
Node.js
- Trong thư mục đang làm việc, hãy tạo một tệp có tên là
chat_spaceReadState_get.js
. Đưa mã sau vào
chat_spaceReadState_get
:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Authenticates with Chat API via user credentials, * then gets the space read state for the calling user. * @return {!Promise<!Object>} */ async function getSpaceReadState() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.users.readstate.readonly', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.users.spaces.getSpaceReadState({ /** * The space read state to get. * * Replace USER with the calling user's ID, Workspace email, * or the alias me. * * Replace SPACE with a space name. * Obtain the space name from the spaces resource of Chat API, * or from a space's URL. */ name: 'users/me/spaces/SPACE/spaceReadState' }); } /** * Use the service endpoint to call Chat API. */ getSpaceReadState().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.
Trong thư mục đang làm việc, hãy tạo và chạy mẫu:
node chat_spaceReadState_get.js
Apps Script
Ví dụ này gọi API Chat bằng Dịch vụ trò chuyện nâng cao.
Thêm phạm vi uỷ quyền
chat.users.readstate.readonly
vào tệpappsscript.json
của dự án Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.users.readstate.readonly" ]
Thêm một hàm như hàm này vào mã của dự án Apps Script:
/** * Authenticates with Chat API via user credentials, * then gets the space read state for the calling user. * @param {string} spaceReadStateName The resource name of the space read state. */ function getSpaceReadState(spaceReadStateName) { try { Chat.Users.Spaces.getSpaceReadState(spaceReadStateName); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to get read state with error %s', err.message); } }
API Google Chat nhận trạng thái đọc không gian được chỉ định và trả về một thực thể của tài nguyên SpaceReadState
.