Trang này giải thích cách tạo một ứng dụng Chat bằng Pub/Sub. Loại Cấu trúc của ứng dụng Chat rất hữu ích nếu tổ chức của bạn có tường lửa, tường lửa có thể ngăn Chat gửi tin nhắn đến ứng dụng Chat hoặc nếu Ứng dụng Chat sử dụng API Sự kiện của Google Workspace. Tuy nhiên, việc này có những hạn chế sau đây do thực tế là Các ứng dụng nhắn tin chỉ có thể gửi và nhận thông báo không đồng bộ:
- Không thể sử dụng hộp thoại trong tin nhắn. Thay vào đó, hãy sử dụng thông báo thẻ.
- Không thể cập nhật từng thẻ bằng phản hồi đồng bộ. Thay vào đó, hãy cập nhật
toàn bộ thư bằng cách gọi lệnh
patch
.
Sơ đồ dưới đây mô tả cấu trúc của một Ứng dụng Chat được xây dựng bằng Pub/Sub:
Trong biểu đồ trên, một người dùng tương tác với Pub/Sub Ứng dụng Chat có luồng thông tin sau đây:
Người dùng gửi tin nhắn trong Chat tới ứng dụng Chat, trong tin nhắn trực tiếp hoặc trong Phòng Chat hoặc một sự kiện diễn ra trong phòng Chat mà ứng dụng Chat có gói thuê bao.
Chat gửi tin nhắn đến một chủ đề Pub/Sub.
Một máy chủ ứng dụng, có thể là một đám mây hoặc hệ thống tại chỗ chứa logic ứng dụng Chat, đăng ký Chủ đề Pub/Sub để nhận thư qua tường lửa.
Nếu muốn, ứng dụng Chat có thể gọi API Chat để đăng thông báo một cách không đồng bộ hoặc thực hiện các thao tác khác các toán tử.
Điều kiện tiên quyết
Java
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Cách kiểm tra để đảm bảo rằng một dự án hiện tại đã bật tính năng thanh toán: hãy xem phần Xác minh trạng thái thanh toán của dự án. Để tạo dự án và thiết lập thông tin thanh toán, hãy xem Tạo một dự án trên Google Cloud.
- Java 11 trở lên
- Công cụ quản lý gói Maven
Python
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Cách kiểm tra để đảm bảo rằng một dự án hiện tại đã bật tính năng thanh toán: hãy xem phần Xác minh trạng thái thanh toán của dự án. Để tạo dự án và thiết lập thông tin thanh toán, hãy xem Tạo một dự án trên Google Cloud.
- Python 3.6 trở lên
- Công cụ quản lý gói pip
Node.js
- Doanh nghiệp Tài khoản Google Workspace có quyền truy cập vào Google Chat.
- Một dự án trên Google Cloud đã bật tính năng thanh toán. Cách kiểm tra để đảm bảo rằng một dự án hiện tại đã bật tính năng thanh toán: hãy xem phần Xác minh trạng thái thanh toán của dự án. Để tạo dự án và thiết lập thông tin thanh toán, hãy xem Tạo một dự án trên Google Cloud.
- Node.js 14 trở lên
- npm công cụ quản lý gói
-
Một dự án Node.js đã khởi tạo. Để khởi chạy một dự án mới, hãy tạo và
chuyển sang một thư mục mới, sau đó chạy lệnh sau trong giao diện dòng lệnh:
npm init
Thiết lập môi trường
Trước khi sử dụng các API của Google, bạn cần bật các API này trong một dự án trên Google Cloud. Bạn có thể bật một hoặc nhiều API trong một dự án Google Cloud.Trong bảng điều khiển Google Cloud, hãy bật API Google Chat và Pub/Sub API.
Thiết lập Pub/Sub
Tạo chủ đề Pub/Sub mà API Chat có thể gửi tin nhắn. Bạn nên sử dụng một chủ đề duy nhất cho mỗi ứng dụng Chat.
Cấp quyền xuất bản cho Chat cho chủ đề đó bằng cách chỉ định vai trò Nhà xuất bản Pub/Sub cho tài khoản dịch vụ:
chat-api-push@system.gserviceaccount.com
Tạo tài khoản dịch vụ để ứng dụng Chat uỷ quyền với Pub/Sub và Trò chuyện và lưu tệp khoá riêng tư vào thư mục đang làm việc của bạn.
Tạo gói thuê bao kéo vào chủ đề.
Chỉ định Vai trò người đăng ký Pub/Sub cho gói thuê bao cho tài khoản dịch vụ mà bạn đã tạo trước đó.
Viết kịch bản
Java
Trong CLI, hãy cung cấp thông tin đăng nhập vào tài khoản dịch vụ:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Trong CLI, hãy cung cấp mã dự án trên Google Cloud:
export PROJECT_ID=PROJECT_ID
Trong CLI, hãy cung cấp mã nhận dạng gói thuê bao cho gói thuê bao Pub/Sub mà bạn đã tạo trước đây:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Trong thư mục đang làm việc, hãy tạo một tệp có tên
pom.xml
.Trong tệp
pom.xml
, hãy dán mã sau:Trong thư mục đang hoạt động, hãy tạo cấu trúc thư mục
src/main/java
.Trong thư mục
src/main/java
, hãy tạo một tệp có tênMain.java
.Trong
Main.java
, hãy dán mã sau:
Python
Trong CLI, hãy cung cấp thông tin đăng nhập vào tài khoản dịch vụ:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Trong CLI, hãy cung cấp mã dự án trên Google Cloud:
export PROJECT_ID=PROJECT_ID
Trong CLI, hãy cung cấp mã nhận dạng gói thuê bao cho gói thuê bao Pub/Sub mà bạn đã tạo trước đây:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Trong thư mục đang làm việc, hãy tạo một tệp có tên
requirements.txt
.Trong tệp
requirements.txt
, hãy dán mã sau:Trong thư mục đang làm việc, hãy tạo một tệp có tên
app.py
.Trong
app.py
, hãy dán mã sau:
Node.js
Trong CLI, hãy cung cấp thông tin đăng nhập vào tài khoản dịch vụ:
export GOOGLE_APPLICATION_CREDENTIALS=SERVICE_ACCOUNT_FILE_PATH
Trong CLI, hãy cung cấp mã dự án trên Google Cloud:
export PROJECT_ID=PROJECT_ID
Trong CLI, hãy cung cấp mã nhận dạng gói thuê bao cho gói thuê bao Pub/Sub mà bạn đã tạo trước đây:
export SUBSCRIPTION_ID=SUBSCRIPTION_ID
Trong thư mục đang làm việc, hãy tạo một tệp có tên
package.json
.Trong tệp
package.json
, hãy dán mã sau: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:
Xuất bản ứng dụng lên Chat
Trong bảng điều khiển Google Cloud, hãy chuyển đến phần Trình đơn > API và Dịch vụ > API đã bật và Dịch vụ > API Google Chat > Cấu hình.
Định cấu hình ứng dụng Chat cho Pub/Sub:
- Trong Tên ứng dụng, hãy nhập
Quickstart App
. - Trong URL hình đại diện, hãy nhập
https://developers.google.com/chat/images/quickstart-app-avatar.png
. - Trong phần Mô tả, hãy nhập
Quickstart app
. - Trong phần Chức năng, hãy chọn Nhận tin nhắn 1:1 và Tham gia các không gian và cuộc trò chuyện nhóm.
- Trong phần Connection settings (Cài đặt kết nối), hãy chọn Cloud Pub/Sub rồi dán tên của chủ đề Pub/Sub mà bạn đã tạo trước đó.
- Trong phần Chế độ hiển thị, hãy chọn Cung cấp ứng dụng Google Chat này cho những người và nhóm cụ thể trong miền rồi nhập địa chỉ email của bạn.
- Trong Logs (Nhật ký), hãy chọn Log lỗi to Logging (Ghi nhật ký vào nhật ký).
- Trong Tên ứng dụng, hãy nhập
Nhấp vào Lưu.
Ứng dụng này đã sẵn sàng nhận và trả lời tin nhắn trên Chat.
Chạy tập lệnh
Trong CLI, hãy chuyển sang thư mục đang làm việc của bạn và chạy tập lệnh:
Java
mvn compile exec:java -Dexec.mainClass=Main
Python
python -m venv env
source env/bin/activate
pip install -r requirements.txt -U
python app.py
Node.js
npm install
npm start
Khi bạn chạy mã, ứng dụng sẽ bắt đầu nghe các thông báo đã đăng chủ đề Pub/Sub.
Kiểm thử ứng dụng Chat
Để kiểm thử ứng dụng Chat, hãy mở một không gian nhắn tin trực tiếp bằng ứng dụng Chat rồi gửi tin nhắn:
Mở Google Chat bằng tài khoản Google Workspace mà bạn khi bạn tự thêm chính mình làm người kiểm tra đáng tin cậy.
- Nhấp vào Cuộc trò chuyện mới.
- Trong trường Thêm 1 hoặc nhiều người, nhập tên của Ứng dụng Chat.
Chọn ứng dụng Chat của bạn trong kết quả. Người trực tiếp tin nhắn sẽ mở ra.
- Trong tin nhắn trực tiếp mới với ứng dụng, hãy nhập
Hello
rồi nhấnenter
.
Để thêm người kiểm tra đáng tin cậy và tìm hiểu thêm về cách kiểm thử các tính năng tương tác, hãy xem Kiểm thử các tính năng tương tác cho Ứng dụng Google Chat.
Khắc phục sự cố
Khi một ứng dụng Google Chat hoặc card trả về một lỗi, thì phương thức Giao diện Chat hiển thị một thông báo với nội dung "Đã xảy ra lỗi". hoặc "Không thể xử lý yêu cầu của bạn". Đôi khi, giao diện người dùng của Chat không hiện thông báo lỗi nào ngoài ứng dụng Chat hoặc thẻ tạo ra kết quả không mong muốn; ví dụ: thông báo thẻ có thể không xuất hiện.
Mặc dù thông báo lỗi có thể không xuất hiện trong giao diện người dùng Chat, thông báo lỗi mô tả và dữ liệu nhật ký luôn có sẵn để giúp bạn sửa lỗi khi tính năng ghi nhật ký lỗi cho các ứng dụng trong Chat được bật. Để được trợ giúp xem, gỡ lỗi và sửa lỗi, hãy xem Khắc phục lỗi và khắc phục lỗi của Google Chat.
Dọn dẹp
Để tránh bị tính phí vào tài khoản Google Cloud của bạn cho tài nguyên được sử dụng trong hướng dẫn này, chúng tôi khuyên bạn nên xóa Dự án trên đám mây.
- Trong bảng điều khiển Google Cloud, hãy chuyển đến trang Quản lý tài nguyên. Nhấp chuột Thực đơn > IAM và Quản trị viên > Quản lý tài nguyên.
- Trong danh sách dự án, hãy chọn dự án mà bạn muốn xoá rồi nhấp vào Xoá .
- Trong hộp thoại, hãy nhập mã dự án rồi nhấp vào Tắt để xoá dự án.
Chủ đề có liên quan
Để thêm các tính năng khác vào ứng dụng Chat, hãy xem sau: