Trang này mô tả cách kết nối ứng dụng Google Chat với một dịch vụ hoặc công cụ bên ngoài Google Chat. Mặc dù các ứng dụng Chat có nhiều tính năng mạnh mẽ, nhưng chúng thường hoạt động cùng với các hệ thống khác và yêu cầu các ứng dụng đồng hành để kết nối tài khoản, cho phép truy cập dữ liệu, hiển thị dữ liệu bổ sung hoặc định cấu hình lựa chọn ưu tiên của người dùng.
Điều kiện tiên quyết
Ứng dụng Google Chat đã bật các tính năng tương tác. Để tạo một ứng dụng Chat có tính tương tác, hãy hoàn thành một trong các hướng dẫn bắt đầu nhanh sau đây dựa trên kiến trúc ứng dụng mà bạn muốn sử dụng:- Dịch vụ HTTP bằng Google Cloud Functions
- Google Apps Script
- Dialogflow CX của Google Cloud
- Google Cloud Pub/Sub
Yêu cầu người dùng cung cấp cấu hình ứng dụng Chat
Nếu việc hoàn tất yêu cầu cần có cấu hình bổ sung mà không thể hoàn tất trực tiếp trong ứng dụng Chat, hãy trả về một URL cấu hình cho người dùng trong một phản hồi thông thường hoặc hiển thị URL đó một cách riêng tư, ở dạng sau:
{ "actionResponse": { "type": "REQUEST_CONFIG", "url": "CONFIGURATION_URL" } }
Thao tác này sẽ yêu cầu Google Chat hiển thị cho người dùng một lời nhắc riêng tư, trong đó CONFIGURATION_URL
là một đường liên kết để người dùng truy cập nhằm xác thực, uỷ quyền hoặc định cấu hình bổ sung. Phản hồi REQUEST_CONFIG
loại trừ lẫn nhau với thông báo phản hồi thông thường. Mọi văn bản, thẻ hoặc thuộc tính khác đều bị bỏ qua.
Hoàn tất yêu cầu cấu hình
Mọi sự kiện tương tác MESSAGE
mà ứng dụng Chat của bạn nhận được cũng bao gồm trường configCompleteRedirectUrl
. Bạn phải mã hoá URL này trong URL cấu hình để sử dụng khi hoàn tất quy trình. Việc chuyển hướng đến URL này sẽ gửi tín hiệu đến Google Chat rằng yêu cầu định cấu hình đã được thực hiện.
Khi ứng dụng Chat khởi động, luồng sẽ phụ thuộc vào tin nhắn cụ thể đã nhận được. Để phản hồi một tin nhắn như @app help
, ứng dụng Chat phải phản hồi bằng một tin nhắn mà không cần cấu hình bổ sung.
Khi người dùng được chuyển hướng thành công đến configCompleteRedirectUrl
được cung cấp trong thư gốc, Google Chat sẽ thực hiện các bước sau:
- Xoá lời nhắc đã hiển thị cho người dùng bắt đầu.
- Chuyển đổi tin nhắn ban đầu thành công khai để các thành viên khác trong không gian có thể thấy.
- Gửi lại tin nhắn ban đầu đến cùng một ứng dụng Chat lần thứ hai.
Việc truy cập vào configCompleteRedirectUrl
chỉ ảnh hưởng đến một thông báo của người dùng.
Nếu người dùng đã cố gắng nhắn tin cho một ứng dụng Chat nhiều lần và do đó nhận được nhiều lời nhắc, thì việc nhấp vào một lời nhắc cụ thể và hoàn tất quy trình xác thực và định cấu hình chỉ ảnh hưởng đến tin nhắn cụ thể đó. Các thông báo khác không thay đổi.
Khi một sự kiện tương tác MESSAGE
được gửi lại theo cách này, sự kiện đó phải giống hệt với sự kiện ban đầu; tuy nhiên, có một số trường hợp sự kiện tương tác MESSAGE
có thể khác nhau. Ví dụ: khi một tin nhắn đề cập đến cả ứng dụng Chat A và ứng dụng Chat B, người dùng có thể chỉnh sửa tin nhắn đó nếu ứng dụng Chat A phản hồi bằng một tin nhắn thông thường trước khi xác thực bằng ứng dụng Chat B. Trong trường hợp này, ứng dụng Chat B sẽ nhận được văn bản tin nhắn đã chỉnh sửa sau khi người dùng hoàn tất quá trình xác thực và định cấu hình.
Xác thực người dùng Chat bên ngoài Chat
Trong một số trường hợp, chẳng hạn như yêu cầu uỷ quyền OAuth cho một API, ứng dụng của bạn cần liên kết đến một URL bên ngoài Chat trong khi vẫn duy trì danh tính của người dùng. Cách tốt nhất để xác định người dùng trong những trường hợp này là bảo vệ ứng dụng đích bằng tính năng Đăng nhập bằng Google.
Sử dụng mã thông báo nhận dạng được phát hành trong quá trình đăng nhập để lấy mã nhận dạng người dùng. Tuyên bố sub
chứa mã nhận dạng duy nhất của người dùng và có thể được liên kết với mã nhận dạng người dùng từ Google Chat.
Mặc dù hai mã nhận dạng này không giống hệt nhau, nhưng bạn có thể ép buộc chúng. Để buộc giá trị của thông báo xác nhận quyền sub
thành users/{user}
của Google Chat, hãy thêm users/
vào đầu giá trị. Ví dụ: giá trị xác nhận quyền sở hữu 123
tương đương với tên người dùng users/123
trong thông báo gửi đến ứng dụng Chat.
Chủ đề có liên quan
- Nhận và phản hồi hoạt động tương tác của người dùng
- Ví dụ về ứng dụng MyProfile sử dụng mã thông báo danh tính từ phản hồi Đăng nhập bằng Google để xác định người dùng.