Dịch vụ Chat 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 không gian Chat, thêm hoặc xoá thành viên khỏi không gian, cũng như đọc hoặc đăng tin nhắn có văn bản, thẻ, tệp đính kèm và biểu tượng cảm xúc.
Điều kiện tiên quyết
- Một ứng dụng Google Chat được định cấu hình bằng Apps Script trên trang cấu hình Chat API trong Google Cloud Console. Dự án Apps Script của ứng dụng phải sử dụng một 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 bài viết Tạo ứng dụng Google Chat bằng Google Apps Script.
- Xác thực được định cấu hình cho ứng dụng Chat. Việc thực hiện một hành động thay mặt cho người dùng yêu cầu xác thực người dùng. Để thực hiện một hành động với tư cách là ứng dụng Chat, bạn cần xác thực ứng dụng bằng tài khoản dịch vụ. Để kiểm tra xem phương thức nào của Chat API hỗ trợ hình thức xác thực, hãy xem Các loại xác thực bắt buộc đối với lệnh gọi Google Chat API.
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ề Chat API. Giống như tất cả các dịch vụ nâng cao trong Apps Script, dịch vụ Chat sử dụng cùng các đối tượng, phương thức và tham số như API công khai.
Mã mẫu
Các mẫu này cho thấy cách thực hiện các thao tác phổ biến của API Google Chat bằng dịch vụ nâng cao.
Đăng thông báo bằng thông tin đăng nhập của người dùng
Ví dụ sau đây minh hoạ cách đăng một thông báo lên một không gian trò chuyện thay cho người dùng.
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 có thông tin xác thực ứng dụng
Ví dụ sau đây minh hoạ cách đăng một thông báo lên một không gian trò chuyện thay cho ứng dụng. Khi sử dụng dịch vụ Chat nâng cao bằng tài khoản dịch vụ, bạn không cần chỉ định phạm vi uỷ quyền trong appsscript.json
. Để biết thông tin chi tiết về việc xác thực bằng tài khoản dịch vụ, hãy xem phần Xác thực dưới dạng ứng dụng Google Chat.
Mua không gian
Ví dụ sau đây minh hoạ cách lấy thông tin về một không gian trò chuyện.
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 một không gian trong 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:
Liệt kê các gói hội viên
Ví dụ sau đây minh hoạ cách liệt kê tất cả thành viên của một không gian trò chuyện.
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
, tức là bạn chưa chỉ định phạm vi uỷ quyền nào 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à một 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 thêm thủ công 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.
Để giải quyết lỗi này, hãy thêm các 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 nội dung sau:
"oauthScopes": [
"https://www.googleapis.com/auth/chat.messages.create"
]
Giới hạn và điểm cần cân nhắc
Dịch vụ Advanced Chat không hỗ trợ:
- Phương thức Chat API
media.download
. - Các phương thức Chat API có trong Bản dùng thử cho nhà phát triển
Để tải tệp đính kèm trong tin nhắn xuống hoặc gọi một phương thức xem trước dành cho nhà phát triển, hãy sử dụng UrlFetchApp
.