Kết nối ứng dụng Chat với các dịch vụ và công cụ khác

Trang này mô tả cách kết nối một ứ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 hoạt động hiệu quả, nhưng chúng thường phối hợp với các hệ thống khác và yêu cầu các ứng dụng đi kèm để 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

Một ứng dụng Google Chat được định cấu hình để nhận và phản hồi sự kiện 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 nhanh sau đây dựa trên cấu trúc ứng dụng mà bạn muốn sử dụng:

Yêu cầu người dùng thiết lập ứng dụng Chat

Nếu việc hoàn tất một yêu cầu đòi hỏi phải 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ề URL cấu hình cho người dùng trong phần trả lời thông thường hoặc trình bày riêng tư theo biểu mẫu sau:

{
  "actionResponse": {
    "type": "REQUEST_CONFIG",
    "url": "CONFIGURATION_URL"
  }
}

Lệnh này 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 thêm. Phản hồi REQUEST_CONFIG không thể đi kèm với tin nhắn 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 về cấu hình

Mỗi sự kiện tương tác MESSAGE, ADDED_TO_SPACEAPP_COMMAND 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 báo hiệu cho Google Chat rằng yêu cầu định cấu hình đã được thực hiện.

Khi ứng dụng Trò chuyện bắt đầu, quy trình sẽ phụ thuộc vào tin nhắn cụ thể mà ứng dụng nhận được. Để phản hồi một tin nhắn như @app help, ứng dụng Chat sẽ phản hồi bằng một 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 đến configCompleteRedirectUrl có trong tin nhắn ban đầu, Google Chat sẽ thực hiện các bước sau:

  1. Xoá lời nhắc đã hiển thị cho người dùng bắt đầu.
  2. Chuyển đổi tin nhắn ban đầu thành tin nhắn công khai để các thành viên khác trong không gian có thể thấy.
  3. Gửi lại tin nhắn gốc đến cùng một ứng dụng Chat.

Việc truy cập vào configCompleteRedirectUrl chỉ ảnh hưởng đến một thông báo duy nhất 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 lời nhắc cụ thể đó. Các thông báo khác sẽ không thay đổi.

Khi 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 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. 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 trò chuyện 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 quy trình xác thực và thiết lập.

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 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ã 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. Thông tin xác nhận sub chứa mã nhận dạng duy nhất của người dùng và có thể tương quan với mã nhận dạng người dùng trên Google Chat.

Mặc dù hai mã nhận dạng này không hoàn toàn giống nhau, nhưng bạn có thể ép buộc chúng. Để ép buộc giá trị của yêu cầu sub thành users/{user} Google Chat, hãy thêm giá trị bằng users/. Ví dụ: giá trị của yêu cầu xác nhận quyền sở hữu 123 tương đương với tên người dùng users/123 trong các thông báo gửi đến ứng dụng Chat của bạn.