Trang này mô tả cách thiết lập webhook để gửi tin nhắn không đồng bộ đến Phòng Chat sử dụng các điều kiện kích hoạt bên ngoài. Ví dụ: bạn có thể định cấu hình ứng dụng giám sát để thông báo cho nhân viên trực tiếp về Trò chuyện khi máy chủ ngừng hoạt động. Để gửi một thông báo đồng bộ bằng ứng dụng Chat, hãy xem Gửi tin nhắn.
Với loại kiến trúc này thiết kế của bạn, người dùng không thể tương tác với webhook hoặc webhook được kết nối vì giao tiếp mang tính một chiều. Webhook không mang tính trò chuyện. Họ sẽ không thể trả lời hoặc nhận tin nhắn từ người dùng hoặc Sự kiện tương tác với ứng dụng Chat. Cách trả lời tin nhắn: tạo ứng dụng trong Chat thay vì webhook.
Mặc dù webhook không phải về kỹ thuật ứng dụng Chat – webhook kết nối các ứng dụng bằng Yêu cầu HTTP (trang này gọi đây là một ứng dụng Chat để để đơn giản hoá. Mỗi webhook chỉ hoạt động trong phòng Chat ở đã được đăng ký. Webhook đến hoạt động trong tin nhắn trực tiếp, nhưng chỉ khi tất cả người dùng có Đã bật các ứng dụng trong Chat. Bạn không thể xuất bản webhook lên Google Workspace Marketplace.
Sơ đồ dưới đây cho thấy cấu trúc của một webhook được kết nối với Trò chuyện:
Trong sơ đồ trên, ứng dụng Chat có những thành phần sau luồng thông tin:
- Logic của ứng dụng Chat sẽ nhận thông tin từ dịch vụ bên ngoài của bên thứ ba, chẳng hạn như hệ thống quản lý dự án hoặc công cụ bán vé.
- Logic của ứng dụng Chat được lưu trữ trên đám mây hoặc hệ thống tại chỗ có thể gửi tin nhắn bằng cách sử dụng URL webhook đến phòng Chat cụ thể.
- Người dùng có thể nhận tin nhắn từ ứng dụng Chat trong phòng Chat cụ thể đó, nhưng không thể tương tác với Ứng dụng Chat.
Điều kiện tiên quyết
Python
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat. Tổ chức Google Workspace của bạn phải cho phép người dùng thêm và sử dụng webhook đến.
- Python 3.6 trở lên
- Công cụ quản lý gói pip
Thư viện
httplib2
. Để cài đặt thư viện này, hãy chạy lệnh sau trong giao diện dòng lệnh:pip install httplib2
Một phòng Google Chat. Để tạo cuộc trò chuyện bằng API Google Chat, hãy xem Tạo không gian. Cách tạo cuộc trò chuyện trong Chat: hãy truy cập vào Tài liệu trong Trung tâm trợ giúp.
Node.js
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat. Tổ chức Google Workspace của bạn phải cho phép người dùng thêm và sử dụng webhook đến.
- Node.js 14 trở lên
- npm công cụ quản lý gói
- Một phòng Google Chat. Để tạo cuộc trò chuyện bằng API Google Chat, hãy xem Tạo không gian. Cách tạo cuộc trò chuyện trong Chat: hãy truy cập vào Tài liệu trong Trung tâm trợ giúp.
Java
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat. Tổ chức Google Workspace của bạn phải cho phép người dùng thêm và sử dụng webhook đến.
- Java 11 trở lên
- Công cụ quản lý gói Maven
- Một phòng Google Chat. Để tạo cuộc trò chuyện bằng API Google Chat, hãy xem Tạo không gian. Cách tạo cuộc trò chuyện trong Chat: hãy truy cập vào Tài liệu trong Trung tâm trợ giúp.
Apps Script
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat. Tổ chức Google Workspace của bạn phải cho phép người dùng thêm và sử dụng webhook đến.
- Tạo một dự án Apps Script độc lập, rồi bật Dịch vụ trò chuyện nâng cao.
- Một phòng Google Chat. Để tạo cuộc trò chuyện bằng API Google Chat, hãy xem Tạo không gian. Cách tạo cuộc trò chuyện trong Chat: hãy truy cập vào Tài liệu trong Trung tâm trợ giúp.
Tạo webhook
Để tạo một webhook, hãy đăng ký webhook đó trong phòng Chat mà bạn muốn để nhận thông báo rồi viết một tập lệnh để gửi thông báo.
Đăng ký webhook đến
- Trong trình duyệt, hãy mở Trò chuyện. Bạn không thể định cấu hình webhook bằng ứng dụng Chat dành cho thiết bị di động.
- Chuyển đến không gian mà bạn muốn thêm webhook.
- Bên cạnh tiêu đề không gian, hãy nhấp vào mũi tên mở rộng, sau đó nhấp vào Ứng dụng & tích hợp.
Nhấp vào
Thêm webhook.Trong trường Name (Tên), hãy nhập
Quickstart Webhook
.Trong trường URL hình đại diện, nhập
https://developers.google.com/chat/images/chat-product-icon.png
.Nhấp vào Lưu.
Để sao chép URL webhook, hãy nhấp vào
Lựa chọn khác, sau đó nhấp vào Sao chép đường liên kết.
Viết tập lệnh webhook
Tập lệnh webhook mẫu sẽ gửi thông báo đến không gian có webhook
đã đăng ký bằng cách gửi yêu cầu POST
đến URL webhook. Chiến lược phát hành đĩa đơn
API Chat phản hồi bằng một phiên bản của
Message
.
Chọn một ngôn ngữ để tìm hiểu cách tạo tập lệnh webhook:
Python
Trong thư mục đang làm việc, hãy tạo một tệp có tên
quickstart.py
.Trong
quickstart.py
, hãy dán mã sau:Thay thế giá trị cho biến
url
bằng URL webhook bạn đã sao chép khi đăng ký webhook.
Node.js
Trong thư mục đang làm việc, hãy tạo một tệp có tên
index.js
.Trong
index.js
, hãy dán mã sau:Thay thế giá trị cho biến
url
bằng URL webhook bạn đã sao chép khi đăng ký webhook.
Java
Trong thư mục đang làm việc, hãy tạo một tệp có tên
pom.xml
.Trong
pom.xml
, hãy sao chép và dán nội dung sau:Trong thư mục đang hoạt động, hãy tạo cấu trúc thư mục sau
src/main/java
.Trong thư mục
src/main/java
, hãy tạo một tệp có tênApp.java
.Trong
App.java
, hãy dán mã sau:Thay thế giá trị cho biến
URL
bằng URL webhook mà bạn được sao chép khi bạn đăng ký webhook.
Apps Script
Trong trình duyệt, hãy chuyển đến Apps Script.
Nhấp vào New Project (Dự án mới)
Dán đoạn mã sau:
Thay thế giá trị cho biến
url
bằng URL webhook mà bạn được sao chép khi bạn đăng ký webhook.
Chạy tập lệnh webhook
Trong CLI, chạy tập lệnh:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- Nhấp vào Chạy.
Khi bạn chạy mã, webhook sẽ gửi tin nhắn đến không gian mà bạn đã đăng ký tên miền.
Bắt đầu hoặc trả lời một chuỗi tin nhắn
Nêu rõ
spaces.messages.thread.threadKey
trong nội dung yêu cầu tin nhắn. Tuỳ thuộc vào việc bạn đang bắt đầu hay trả lời một chuỗi thư, hãy sử dụng các giá trị sau chothreadKey
:Nếu bắt đầu một luồng, hãy đặt
threadKey
thành một chuỗi tuỳ ý, nhưng hãy ghi lại giá trị này để đăng câu trả lời cho chuỗi thư.Nếu trả lời một chuỗi thư, hãy chỉ định
threadKey
được đặt khi đã bắt đầu chuỗi. Ví dụ: để đăng câu trả lời cho chuỗi cuộc trò chuyện mà thông báo ban đầu được sử dụngMY-THREAD
, đặtMY-THREAD
.
Xác định hành vi của luồng nếu không tìm thấy
threadKey
được chỉ định:Trả lời một chuỗi cuộc trò chuyện hoặc bắt đầu một chuỗi cuộc trò chuyện mới. Thêm
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
tham số đến URL webhook. Việc chuyển tham số URL này khiến Chat để tìm một luồng hiện có bằngthreadKey
được chỉ định. Nếu có được tìm thấy, thì tin nhắn sẽ được đăng dưới dạng câu trả lời cho chuỗi tin nhắn đó. Nếu không có thì thông báo sẽ bắt đầu một chuỗi mới tương ứng vớithreadKey
.Trả lời một chuỗi tin nhắn hoặc không làm gì cả. Thêm
messageReplyOption=REPLY_MESSAGE_OR_FAIL
thông số cho URL webhook. Việc chuyển tham số URL này khiến Chat để tìm một luồng hiện có bằngthreadKey
được chỉ định. Nếu có được tìm thấy, thì tin nhắn sẽ được đăng dưới dạng câu trả lời cho chuỗi tin nhắn đó. Nếu không có thì tin nhắn sẽ không được gửi.
Để tìm hiểu thêm, hãy xem
messageReplyOption
.
Mã mẫu sau đây bắt đầu hoặc trả lời một chuỗi tin nhắn: