Với tài nguyên MessagePin trong API Chat, ứng dụng của bạn có thể ghim tin nhắn, bỏ ghim tin nhắn và nhận danh sách tất cả tin nhắn được ghim trong không gian trên Google Chat. Tất cả thành viên trong không gian đều có thể thấy tin nhắn được ghim trong giao diện Chat. API này giúp ứng dụng của bạn quản lý tin nhắn được ghim thay cho người dùng.
Để biết thông tin về cách người dùng ghim tin nhắn trong không gian, hãy xem bài viết Ghim tin nhắn, tệp và đường liên kết trong không gian và tin nhắn.
Điều kiện tiên quyết
Node.js
- Tài khoản Google Workspace Business hoặc Enterprise 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 Google Chat API bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng đám mây Node.js.
-
Tạo thông tin đăng nhập mã ứng dụng OAuth cho một ứng dụng dành cho máy tính. Để chạy mẫu trong hướng dẫn này, hãy lưu thông tin đăng nhập dưới dạng tệp JSON có tên
credentials.jsonvào thư mục cục bộ của bạn.
- Chọn một phạm vi uỷ quyền hỗ trợ xác thực người dùng.
Lưu ý
- Bạn chỉ có thể ghim những tin nhắn đã có trong một không gian. Bạn không thể tạo một tin nhắn mới và ghim tin nhắn đó trong cùng một yêu cầu.
- Bạn không thể ghim những tin nhắn chỉ hiển thị cho bạn. Ví dụ: bạn không thể ghim tin nhắn riêng tư nhận được từ một ứng dụng.
- Mỗi phòng Chat có thể có tối đa 100 tin nhắn được ghim. Nếu ứng dụng của bạn cố gắng ghim tin nhắn thứ 101, thì API sẽ trả về lỗi.
Ghim tin nhắn
Để ghim một tin nhắn bằng xác thực người dùng, hãy truyền các thông tin sau trong yêu cầu của bạn:
- Chỉ định phạm vi uỷ quyền
chat.spaces.pinshoặcchat.spaces. - Gọi
messagePins.create. - Chỉ định
parent(tên không gian) và cung cấpbodybằng tên tài nguyênmessagecủa thư gốc.
Mẫu sau đây ghim một tin nhắn trong không gian:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_pin_message.py. Thêm mã sau vào
chat_pin_message.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then pins a message in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Pin a message. result = service.spaces().messagePins().create( # The space to pin the message in. # # Replace SPACE with a space ID or name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # The message to pin. body={ 'message': 'spaces/SPACE/messages/MESSAGE' } ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()Trong mã, hãy thay thế những nội dung sau:
Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_pin_message.py
Bỏ ghim tin nhắn
Để gỡ ghim một tin nhắn bằng xác thực người dùng, hãy truyề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.spaces.pinshoặcchat.spaces. - Gọi
messagePins.delete. - Đặt
namethành tên tài nguyên củaMessagePincần xoá.
Sau đây là cách gỡ bỏ ghim một tin nhắn:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_unpin_message.py. Thêm mã sau vào
chat_unpin_message.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins"] def main(): ''' Authenticates with Chat API via user credentials, then unpins a message from a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # Unpin a message. result = service.spaces().messagePins().delete( # The resource name of the message pin to delete. # # Replace SPACE with a space ID or name, and MESSAGE with the message ID. name='spaces/SPACE/messagePins/MESSAGE' ).execute() print(result) if __name__ == '__main__': main()Trong mã, hãy thay thế những nội dung sau:
Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_unpin_message.py
Lấy danh sách tin nhắn đã ghim
Để lấy danh sách tin nhắn được ghim trong các không gian mà bạn có quyền truy cập, hãy sử dụng xác thực người dùng và truyền các thông tin sau trong yêu cầu của bạn:
- Chỉ định một trong các phạm vi đọc:
chat.spaces.pins.readonly,chat.spaces.readonly,chat.spaces.pinshoặcchat.spaces. - Gọi
messagePins.list. - Chỉ định
parentlàm tên không gian để tìm nạp tin nhắn được ghim.
Sau đây là cách liệt kê các tin nhắn được ghim:
Python
- Trong thư mục làm việc, hãy tạo một tệp có tên là
chat_list_pinned_messages.py. Thêm mã sau vào
chat_list_pinned_messages.py:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. SCOPES = ["https://www.googleapis.com/auth/chat.spaces.pins.readonly"] def main(): ''' Authenticates with Chat API via user credentials, then lists pinned messages in a space. ''' # Authenticate with Google Workspace and get user authorization. flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. service = build('chat', 'v1', credentials=creds) # List pinned messages. result = service.spaces().messagePins().list( # The space to list pinned messages from. # # Replace SPACE with a space ID or name. parent='spaces/SPACE' ).execute() print(result) if __name__ == '__main__': main()Trong mã, hãy thay thế
SPACEbằng mã nhận dạng không gian trongnamecủa không gian.Trong thư mục làm việc, hãy tạo và chạy mẫu:
python3 chat_list_pinned_messages.py
Chủ đề có liên quan
- Định dạng tin nhắn.
- Xoá tin nhắn.
- Xem thông tin chi tiết về một tin nhắn.
- Liệt kê tin nhắn trong một không gian.
- Chỉnh sửa tin nhắn.
- Gửi tin nhắn.