Dịch vụ Trò chuyện nâng cao cho phép bạn sử dụng API Google Chat trong Apps Script. API này cho phép tập lệnh tìm, tạo và sửa đổi phòng Chat, thêm hoặc xoá thành viên khỏi không gian, đọc hoặc đăng tin nhắn có văn bản, thẻ, tệp đính kèm và lượt bày tỏ cảm xúc.
Điều kiện tiên quyết
- Một ứng dụng Google Chat của Apps Script được định cấu hình trên trang cấu hình Chat API trong bảng điều khiển Google Cloud. Dự án Apps Script của ứng dụng phải sử dụng dự án Google Cloud tiêu chuẩn thay vì dự án mặc định được tạo tự động cho các dự án Apps Script. Để tạo một ứng dụng Google Chat tương thích, hãy xem phần Tạo ứng dụng Google Chat bằng Apps Script.
- Đã định cấu hình xác thực cho ứng dụng Chat. Để thực hiện thao tác thay mặt người dùng, bạn cần phải xác thực người dùng. Để thực hiện một hành động như ứng dụng Chat, bạn cần phải xác thực ứng dụng bằng tài khoản dịch vụ. Để kiểm tra xem phương thức API Chat hỗ trợ hình thức xác thực nào, hãy xem Các loại phương thức xác thực bắt buộc cho lệnh gọi API Google Chat.
Tài liệu tham khảo
Để biết thêm thông tin về dịch vụ này, hãy xem Tài liệu tham khảo về API của Chat. Giống như tất cả dịch vụ nâng cao trong Apps Script, dịch vụ Chat sử dụng các đối tượng, phương thức và tham số giống như API công khai.
Mã mẫu
Các mẫu này cho bạn biết cách thực hiện các thao tác phổ biến trong API Google Chat bằng dịch vụ nâng cao.
Đăng thông báo kèm theo thông tin đăng nhập của người dùng
Ví dụ sau minh hoạ cách thay người dùng đăng tin nhắn lên một phòng Chat.
Thêm phạm vi uỷ quyền
chat.messages.create
vào tệpappsscript.json
của dự án Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.create" ]
Thêm một hàm như hàm này vào mã của dự án Apps Script:
Đăng thông báo bằng thông tin đăng nhập ứng dụng
Ví dụ sau minh hoạ cách thay ứng dụng đăng tin nhắn lên một phòng Chat. Việc sử dụng dịch vụ Chat nâng cao bằng tài khoản dịch vụ không yêu cầu bạn chỉ định phạm vi uỷ quyền trong appsscript.json
. Để biết thông tin chi tiết về cách xác thực bằng tài khoản dịch vụ, hãy xem bài viết Xác thực dưới dạng ứng dụng Google Chat.
Mua không gian
Ví dụ sau minh hoạ cách lấy thông tin về phòng Chat.
Thêm phạm vi uỷ quyền
chat.spaces.readonly
vào tệpappsscript.json
của dự án Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.readonly" ]
Thêm một hàm như hàm này vào mã của dự án Apps Script:
Tạo không gian
Ví dụ sau đây minh hoạ cách tạo phòng Chat.
Thêm phạm vi uỷ quyền
chat.spaces.create
vào tệpappsscript.json
của dự án Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.spaces.create" ]
Thêm một hàm như hàm này vào mã của dự án Apps Script:
Danh sách thành viên
Ví dụ sau minh hoạ cách liệt kê tất cả thành viên của phòng Chat.
Thêm phạm vi uỷ quyền
chat.memberships.readonly
vào tệpappsscript.json
của dự án Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.memberships.readonly" ]
Thêm một hàm như hàm này vào mã của dự án Apps Script:
Khắc phục sự cố
Nếu bạn gặp Error 400: invalid_scope
với thông báo lỗi Some requested scopes cannot be shown
thì có nghĩa là bạn chưa chỉ định phạm vi uỷ quyền trong tệp appsscript.json
của dự án Apps Script. Trong hầu hết các trường hợp, Apps Script sẽ tự động xác định những phạm vi mà tập lệnh cần, nhưng khi sử dụng dịch vụ nâng cao của Chat, bạn phải tự thêm các phạm vi uỷ quyền mà tập lệnh sử dụng vào tệp kê khai của dự án Apps Script. Xem phần Đặt phạm vi rõ ràng.
Để khắc phục lỗi này, hãy thêm phạm vi uỷ quyền thích hợp vào tệp appsscript.json
của dự án Apps Script trong mảng oauthScopes
. Ví dụ: để gọi phương thức spaces.messages.create
, hãy thêm đoạn mã sau:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Giới hạn và cân nhắc
Dịch vụ Trò chuyện nâng cao không hỗ trợ:
- Phương thức API Chat
media.download
. - Các phương thức API Chat có trong Bản dùng thử cho nhà phát triển
Để tải tệp đính kèm tin nhắn xuống hoặc gọi phương thức xem trước dành cho nhà phát triển, hãy sử dụng UrlFetchApp
.