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