Hướng dẫn này giải thích cách sử dụng phương thức create() trên tài nguyên Message của API Google Chat để thực hiện bất kỳ thao tác nào sau đây:
- Gửi tin nhắn chứa văn bản, thẻ và tiện ích tương tác.
- Gửi tin nhắn riêng tư cho một người dùng Chat cụ thể.
- Bắt đầu hoặc trả lời một chuỗi tin nhắn.
- Đặt tên cho tin nhắn để bạn có thể chỉ định tin nhắn đó trong các yêu cầu khác của API Chat.
Kích thước tối đa của tin nhắn (bao gồm cả văn bản hoặc thẻ) là 32.000 byte. Để gửi tin nhắn vượt quá kích thước này, ứng dụng Chat của bạn phải gửi nhiều tin nhắn.
Ngoài việc gọi API Chat để tạo tin nhắn, ứng dụng Chat có thể tạo và gửi tin nhắn để trả lời các hoạt động tương tác của người dùng, chẳng hạn như đăng tin nhắn chào mừng sau khi người dùng thêm ứng dụng Chat vào một không gian. Khi phản hồi các lượt tương tác, ứng dụng Chat có thể sử dụng các loại tính năng nhắn tin khác, bao gồm cả hộp thoại tương tác và giao diện xem trước đường liên kết. Để trả lời người dùng, ứng dụng Chat sẽ trả về tin nhắn một cách đồng bộ mà không gọi API Chat. Để tìm hiểu về cách gửi tin nhắn để phản hồi các lượt tương tác, hãy xem bài viết Nhận và phản hồi các lượt tương tác với ứng dụng Google Chat.
Cách Chat hiển thị và ghi nhận tin nhắn được tạo bằng API Chat
Bạn có thể gọi phương thức create() bằng cách sử dụng quy trình xác thực ứng dụng và quy trình xác thực người dùng.
Chat sẽ ghi nhận người gửi tin nhắn theo cách khác nhau
tuỳ thuộc vào loại phương thức xác thực mà bạn sử dụng.
Khi bạn xác thực dưới dạng ứng dụng Chat, ứng dụng Chat sẽ gửi tin nhắn.
App bên cạnh tên của người gửi.Khi bạn xác thực với tư cách là người dùng, ứng dụng Chat sẽ gửi tin nhắn thay mặt cho người dùng. Chat cũng ghi nhận ứng dụng Chat cho tin nhắn bằng cách hiển thị tên của ứng dụng.
Loại xác thực cũng xác định những tính năng và giao diện nhắn tin mà bạn có thể đưa vào thông báo. Khi sử dụng phương thức xác thực ứng dụng, các ứng dụng Chat có thể gửi tin nhắn chứa văn bản đa dạng thức, giao diện dựa trên thẻ và tiện ích tương tác. Khi xác thực người dùng, bạn có thể gửi tin nhắn văn bản hoặc tạo tin nhắn bằng thẻ, như được ghi lại trong phần Tạo và cập nhật thẻ tương tác.
Để tìm hiểu thêm về các tính năng nhắn tin có trong API Chat, hãy xem bài viết Tổng quan về tin nhắn trên Google Chat.
Hướng dẫn này giải thích cách sử dụng một trong hai loại xác thực để gửi tin nhắn bằng API Chat.
Điều kiện tiên quyết
Node.js
- Tài khoản Google Workspace dành cho doanh nghiệp có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng đám mây Node.js.
- Tạo thông tin xác thực truy cập dựa trên cách bạn muốn xác thực trong yêu cầu API Google Chat:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth rồi lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.jsonvào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập của tài khoản dịch vụ rồi lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth rồi lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Không gian Google Chat nơi người dùng đã xác thực hoặc ứng dụng Chat đang gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Python
- Tài khoản Google Workspace dành cho doanh nghiệp có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng Cloud cho Python.
- Tạo thông tin xác thực truy cập dựa trên cách bạn muốn xác thực trong yêu cầu API Google Chat:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth rồi lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.jsonvào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập của tài khoản dịch vụ rồi lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth rồi lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Không gian Google Chat nơi người dùng đã xác thực hoặc ứng dụng Chat đang gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Java
- Tài khoản Google Workspace dành cho doanh nghiệp có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Cài đặt Thư viện ứng dụng Cloud cho Java.
- Tạo thông tin xác thực truy cập dựa trên cách bạn muốn xác thực trong yêu cầu API Google Chat:
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth rồi lưu thông tin xác thực dưới dạng tệp JSON có tên là
credentials.jsonvào thư mục cục bộ của bạn. - Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập của tài khoản dịch vụ rồi lưu thông tin đăng nhập dưới dạng tệp JSON có tên là
credentials.json.
- Để xác thực với tư cách là người dùng Chat, hãy tạo thông tin xác thực mã ứng dụng khách OAuth rồi lưu thông tin xác thực dưới dạng tệp JSON có tên là
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Không gian Google Chat nơi người dùng đã xác thực hoặc ứng dụng Chat đang gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Apps Script
- Tài khoản Google Workspace dành cho doanh nghiệp có quyền truy cập vào Google Chat.
- Thiết lập môi trường:
- Tạo một dự án trên Google Cloud.
- Định cấu hình màn hình xin phép bằng OAuth.
- Bật và định cấu hình API Google Chat bằng tên, biểu tượng và nội dung mô tả cho ứng dụng Chat của bạn.
- Tạo một dự án Apps Script độc lập, rồi bật Dịch vụ Chat nâng cao.
- Trong hướng dẫn này, bạn phải sử dụng phương thức xác thực người dùng hoặc ứng dụng. Để xác thực dưới dạng ứng dụng Chat, hãy tạo thông tin đăng nhập tài khoản dịch vụ. Để biết các bước thực hiện, hãy xem bài viết Xác thực và uỷ quyền dưới dạng một ứng dụng Google Chat.
- Chọn phạm vi uỷ quyền dựa trên việc bạn muốn xác thực với tư cách là người dùng hay ứng dụng Chat.
- Không gian Google Chat nơi người dùng đã xác thực hoặc ứng dụng Chat đang gọi là thành viên. Để xác thực dưới dạng ứng dụng Chat, hãy thêm ứng dụng Chat vào không gian.
Gửi tin nhắn dưới dạng ứng dụng Chat
Phần này giải thích cách gửi tin nhắn chứa văn bản, thẻ và tiện ích phụ kiện tương tác bằng cách sử dụng phương thức xác thực ứng dụng.
Để gọi phương thức CreateMessage() bằng phương thức xác thực ứng dụng, bạn phải chỉ định các trường sau trong yêu cầu:
chat.botPhạm vi uỷ quyền.- Tài nguyên
Spacemà bạn muốn đăng thông báo. Ứng dụng Chat phải là thành viên của không gian. - Tài nguyên
Messagecần tạo. Để xác định nội dung của tin nhắn, bạn có thể thêm văn bản đa dạng thức (text), một hoặc nhiều giao diện thẻ (cardsV2) hoặc cả hai.
Bạn có thể thêm các thông tin sau (không bắt buộc):
- Trường
elementsđể thêm trích dẫn vào tin nhắn. - Trường
accessoryWidgetsđể thêm các nút tương tác ở cuối tin nhắn. - Trường
privateMessageViewerđể gửi tin nhắn riêng tư cho một người dùng được chỉ định. - Trường
messageId, cho phép bạn đặt tên cho thông báo để sử dụng trong các yêu cầu API khác. - Trường
thread.threadKeyvàmessageReplyOptionđể bắt đầu hoặc trả lời một chuỗi tin nhắn. Nếu không gian không sử dụng chuỗi tin nhắn, thì trường này sẽ bị bỏ qua.
Mã sau đây cho thấy ví dụ về cách một ứng dụng Chat có thể gửi tin nhắn được đăng dưới dạng ứng dụng Chat, trong đó có chứa văn bản, thẻ và nút có thể nhấp vào ở cuối tin nhắn:
Node.js
Python
Java
Apps Script
Để chạy mẫu này, hãy thay thế SPACE_NAME bằng mã nhận dạng trong trường name của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thức
ListSpaces()
hoặc từ URL của không gian.
Thêm tiện ích tương tác ở cuối thư
Trong mã mẫu đầu tiên của hướng dẫn này, tin nhắn của ứng dụng Chat hiển thị một nút có thể nhấp vào ở cuối tin nhắn, được gọi là tiện ích phụ trợ. Tiện ích phụ kiện xuất hiện sau mọi văn bản hoặc thẻ trong một tin nhắn. Bạn có thể sử dụng các tiện ích này để nhắc người dùng tương tác với tin nhắn của bạn theo nhiều cách, bao gồm:
- Đánh giá mức độ chính xác hoặc mức độ hài lòng về một tin nhắn.
- Báo cáo vấn đề về tin nhắn hoặc ứng dụng Chat.
- Mở đường liên kết đến nội dung có liên quan, chẳng hạn như tài liệu.
- Loại bỏ hoặc tạm ẩn các tin nhắn tương tự trong ứng dụng Chat trong một khoảng thời gian cụ thể.
Để thêm tiện ích phụ kiện, hãy thêm trường accessoryWidgets[] vào nội dung yêu cầu và chỉ định một hoặc nhiều tiện ích mà bạn muốn thêm.
Hình ảnh sau đây cho thấy một ứng dụng Chat thêm tin nhắn văn bản có các tiện ích phụ để người dùng có thể xếp hạng trải nghiệm của họ với ứng dụng Chat.
Phần sau đây cho thấy nội dung của yêu cầu tạo tin nhắn văn bản có hai nút phụ kiện. Khi người dùng nhấp vào một nút, hàm tương ứng (chẳng hạn như doUpvote) sẽ xử lý hoạt động tương tác:
{
text: "Rate your experience with this Chat app.",
accessoryWidgets: [{ buttonList: { buttons: [{
icon: { material_icon: {
name: "thumb_up"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doUpvote"
}}
}, {
icon: { material_icon: {
name: "thumb_down"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doDownvote"
}}
}]}}]
}
Gửi tin nhắn riêng tư
Ứng dụng Chat có thể gửi tin nhắn riêng tư để chỉ một người dùng cụ thể trong không gian mới nhìn thấy tin nhắn đó. Khi một ứng dụng Chat gửi tin nhắn riêng tư, tin nhắn đó sẽ hiển thị một nhãn thông báo cho người dùng rằng chỉ họ mới nhìn thấy tin nhắn đó.
Để gửi tin nhắn riêng tư bằng API Chat, hãy chỉ định trường privateMessageViewer trong phần nội dung của yêu cầu. Để chỉ định người dùng, bạn đặt giá trị thành tài nguyên User đại diện cho người dùng Chat. Bạn cũng có thể sử dụng trường name của tài nguyên User, như trong ví dụ sau:
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
Để sử dụng mẫu này, hãy thay thế USER_ID bằng một mã nhận dạng duy nhất cho người dùng, chẳng hạn như 12345678987654321 hoặc hao@cymbalgroup.com. Để biết thêm thông tin về cách chỉ định người dùng, hãy xem bài viết Xác định và chỉ định người dùng Google Chat.
Để gửi tin nhắn riêng tư, bạn phải bỏ qua những thông tin sau trong yêu cầu của mình:
Gửi thông báo bắt buộc hoặc tin nhắn im lặng
Khi gửi tin nhắn, ứng dụng Chat có thể sử dụng một trong các lựa chọn sau để thông báo cho người dùng:
- Buộc gửi thông báo: Chat luôn gửi thông báo đẩy đến người nhận, bất kể chế độ cài đặt thông báo hoặc trạng thái Không làm phiền (DND) của họ. Trong Chat, tin nhắn sẽ kích hoạt hành vi in đậm và đẩy lên đầu trong danh sách người nhận hoặc danh sách Trang chủ, đồng thời hiển thị huy hiệu.
- Gửi tin nhắn không có thông báo: Chat sẽ chặn thông báo đẩy cho người nhận. Trong Chat, tin nhắn không kích hoạt hành vi in đậm hoặc đẩy lên đầu trong danh sách Trang chủ hoặc danh sách người nhận, đồng thời không hiển thị huy hiệu. Nếu tin nhắn không có âm thanh là tin nhắn cuối cùng trong một cuộc trò chuyện, thì nội dung của tin nhắn đó sẽ không xuất hiện trong đoạn trích trên Trang chủ.
Dù là thông báo bắt buộc hay thông báo im lặng, những tin nhắn này đều có một chỉ báo trực quan để thông báo cho người nhận về hành vi thông báo đặc biệt.
Thông báo bắt buộc và tin nhắn không có thông báo chỉ dành cho các ứng dụng Chat sử dụng phương thức xác thực ứng dụng.
Thông báo bắt buộc và tin nhắn im lặng có các giới hạn sau:
- Người dùng bên ngoài: Thông báo bắt buộc và tin nhắn không có thông báo không áp dụng cho người dùng bên ngoài (khách) trong không gian. Người dùng bên ngoài nhận được thông báo theo chế độ cài đặt của riêng họ.
- Lượt đề cập: Tin nhắn im lặng không hỗ trợ tính năng đề cập đến người dùng. Nếu bạn thêm một lượt đề cập vào tin nhắn không có âm thanh, thì lượt đề cập đó sẽ được coi là văn bản thuần tuý.
- Chuỗi tin nhắn: Bạn không thể bắt đầu hoặc trả lời một chuỗi tin nhắn bằng tin nhắn không có âm thanh.
- Loại không gian: Tính năng thông báo bắt buộc và tin nhắn không có âm thanh không được hỗ trợ trong tin nhắn trực tiếp (DM) hoặc không gian do những người không có tài khoản Google Workspace sở hữu.
- Thông báo qua email: Tin nhắn im lặng không kích hoạt thông báo qua email. Tin nhắn buộc thông báo chỉ kích hoạt thông báo qua email nếu tin nhắn đó cũng đề cập đến một người dùng cụ thể.
Để buộc gửi thông báo hoặc gửi tin nhắn không có âm thanh, hãy thêm trường createMessageNotificationOptions vào yêu cầu của bạn và đặt notificationType thành một trong các giá trị sau:
| Giá trị | Hành vi |
|---|---|
NOTIFICATION_TYPE_FORCE_NOTIFY |
Buộc thông báo. |
NOTIFICATION_TYPE_SILENT |
Gửi tin nhắn mà không phát âm báo. |
Ví dụ sau đây cho thấy nội dung JSON của một yêu cầu gửi tin nhắn có thông báo bắt buộc:
{
"text": "Critical update: the server is down!",
"createMessageNotificationOptions": {
"notificationType": "NOTIFICATION_TYPE_FORCE_NOTIFY"
}
}
Gửi tin nhắn văn bản thay mặt cho người dùng
Phần này giải thích cách gửi tin nhắn thay mặt cho người dùng bằng cách sử dụng tính năng xác thực người dùng. Khi sử dụng phương thức xác thực người dùng, bạn có thể gửi tin nhắn văn bản hoặc tạo tin nhắn có thẻ thay mặt cho người dùng. Để biết thông tin chi tiết về cách gửi thẻ thay mặt cho người dùng, hãy xem bài viết Tạo và cập nhật thẻ tương tác.
Để gọi phương thức CreateMessage() bằng phương thức xác thực người dùng, bạn phải chỉ định các trường sau trong yêu cầu:
- Phạm vi uỷ quyền hỗ trợ việc xác thực người dùng cho phương thức này. Mẫu sau đây sử dụng phạm vi
chat.messages.create. - Tài nguyên
Spacemà bạn muốn đăng thông báo. Người dùng đã xác thực phải là thành viên của không gian. - Tài nguyên
Messagecần tạo. Để xác định nội dung của thông báo, bạn phải thêm trườngtext.
Bạn có thể thêm các thông tin sau (không bắt buộc):
- Trường
createMessageNotificationOptionsđể buộc gửi thông báo hoặc gửi tin nhắn mà không có thông báo. - Trường
messageId, cho phép bạn đặt tên cho thông báo để sử dụng trong các yêu cầu API khác. - Trường
thread.threadKeyvàmessageReplyOptionđể bắt đầu hoặc trả lời một chuỗi tin nhắn. Nếu không gian không sử dụng chuỗi tin nhắn, thì trường này sẽ bị bỏ qua.
Mã sau đây cho thấy ví dụ về cách một ứng dụng Chat có thể gửi tin nhắn văn bản trong một không gian nhất định thay mặt cho người dùng đã xác thực:
Node.js
Python
Java
Apps Script
Để chạy mẫu này, hãy thay thế SPACE_NAME bằng mã nhận dạng trong trường name của không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thức
ListSpaces()
hoặc từ URL của không gian.
Bắt đầu hoặc trả lời trong một chuỗi tin nhắn
Đối với không gian sử dụng chuỗi tin nhắn, bạn có thể chỉ định xem tin nhắn mới sẽ bắt đầu một chuỗi tin nhắn hay trả lời một chuỗi tin nhắn hiện có.
Theo mặc định, tin nhắn mà bạn tạo bằng API Chat sẽ bắt đầu một chuỗi tin nhắn mới. Để giúp bạn xác định chuỗi tin nhắn và trả lời sau, bạn có thể chỉ định một khoá chuỗi tin nhắn trong yêu cầu của mình:
- Trong phần nội dung của yêu cầu, hãy chỉ định trường
thread.threadKey. - Chỉ định tham số truy vấn
messageReplyOptionđể xác định điều gì sẽ xảy ra nếu khoá đã tồn tại.
Cách tạo tin nhắn trả lời một chuỗi tin nhắn hiện có:
- Trong phần nội dung của yêu cầu, hãy thêm trường
thread. Nếu đã đặt, bạn có thể chỉ địnhthreadKeymà bạn đã tạo. Nếu không, bạn phải sử dụngnamecủa chuỗi. - Chỉ định tham số truy vấn
messageReplyOption.
Mã sau đây cho thấy ví dụ về cách một ứng dụng Chat có thể gửi tin nhắn văn bản bắt đầu hoặc trả lời một chuỗi tin nhắn nhất định được xác định bằng khoá của một không gian nhất định thay mặt cho người dùng đã xác thực:
Node.js
Python
Java
Apps Script
Để chạy mẫu này, hãy thay thế các giá trị sau:
THREAD_KEY: khoá của một chuỗi tin nhắn hiện có trong không gian hoặc tên riêng biệt cho chuỗi tin nhắn để tạo chuỗi tin nhắn mới.SPACE_NAME: mã nhận dạng từ trườngnamecủa không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()hoặc từ URL của không gian.
Đặt tên cho thông báo
Để truy xuất hoặc chỉ định một thông báo trong các lệnh gọi API sau này, bạn có thể đặt tên cho thông báo bằng cách đặt trường messageId trong yêu cầu của mình.
Việc đặt tên cho thông báo cho phép bạn chỉ định thông báo mà không cần lưu trữ mã nhận dạng do hệ thống chỉ định từ tên tài nguyên của thông báo (được biểu thị trong trường name).
Ví dụ: để truy xuất một tin nhắn bằng phương thức get(), bạn sử dụng tên tài nguyên để chỉ định tin nhắn cần truy xuất. Tên tài nguyên được định dạng là spaces/{space}/messages/{message}, trong đó {message} đại diện cho mã nhận dạng do hệ thống chỉ định hoặc tên tuỳ chỉnh mà bạn đặt khi tạo thông báo.
Để đặt tên cho thông báo, hãy chỉ định một mã tuỳ chỉnh trong trường messageId khi bạn tạo thông báo. Trường messageId đặt giá trị cho trường clientAssignedMessageId của tài nguyên Message.
Bạn chỉ có thể đặt tên cho thông báo khi tạo thông báo. Bạn không thể đặt tên hoặc sửa đổi mã tuỳ chỉnh cho các thông báo hiện có. Mã tuỳ chỉnh phải đáp ứng các yêu cầu sau:
- Bắt đầu bằng
client-. Ví dụ:client-custom-namelà mã tuỳ chỉnh hợp lệ, nhưngcustom-namethì không. - Chứa tối đa 63 ký tự và chỉ chứa chữ cái viết thường, số và dấu gạch nối.
- Là duy nhất trong một không gian. Ứng dụng Chat không thể sử dụng cùng một mã tuỳ chỉnh cho nhiều tin nhắn.
Mã sau đây cho thấy ví dụ về cách một ứng dụng Chat có thể gửi tin nhắn văn bản có mã nhận dạng đến một không gian nhất định thay mặt cho người dùng đã xác thực:
Node.js
Python
Java
Apps Script
Để chạy mẫu này, hãy thay thế các giá trị sau:
SPACE_NAME: mã nhận dạng từ trườngnamecủa không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()hoặc từ URL của không gian.MESSAGE-ID: tên của thông báo bắt đầu bằngcustom-. Phải khác biệt với mọi tên tin nhắn khác do ứng dụng Chat tạo trong không gian được chỉ định.
Trích dẫn tin nhắn
Bạn có thể trích dẫn một tin nhắn khác bằng cách gọi
CreateMessage()
(rpc,
rest)
và đặt quotedMessageMetadata
(rpc,
rest)
trong yêu cầu.
Bạn có thể trích dẫn tin nhắn trong một chuỗi tin nhắn hoặc trong cuộc trò chuyện chính, nhưng không thể trích dẫn tin nhắn từ một chuỗi tin nhắn khác.
Đoạn mã sau đây cho biết cách tạo một tin nhắn trích dẫn một tin nhắn khác:
Node.js
import {createClientWithUserCredentials} from './authentication-utils.js';
const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.messages.create'];
// This sample shows how to create a message that quotes another message.
async function main() {
// Create a client
const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);
// Initialize request argument(s)
const request = {
// TODO(developer): Replace SPACE_NAME .
parent: 'spaces/SPACE_NAME',
message: {
text: 'I am responding to a quoted message!',
// quotedMessageMetadata lets Chat apps respond to a message by quoting it.
quotedMessageMetadata: {
// TODO(developer): Replace QUOTED_MESSAGE_NAME
// and QUOTED_MESSAGE_LAST_UPDATE_TIME.
name: 'QUOTED_MESSAGE_NAME',
lastUpdateTime: 'QUOTED_MESSAGE_LAST_UPDATE_TIME'
}
}
};
// Make the request
const response = await chatClient.createMessage(request);
// Handle the response
console.log(response);
}
main().catch(console.error);
Python
from authentication_utils import create_client_with_user_credentials
from google.apps import chat_v1 as google_chat
from google.protobuf.timestamp_pb2 import Timestamp
SCOPES = ['https://www.googleapis.com/auth/chat.messages.create']
# This sample shows how to create a message that quotes another message.
def create_message_quote_message():
'''Creates a message that quotes another message.'''
# Create a client
client = create_client_with_user_credentials(SCOPES)
# Create a timestamp from the RFC-3339 string.
# TODO(developer): Replace QUOTED_MESSAGE_LAST_UPDATE_TIME.
last_update_time = Timestamp()
last_update_time.FromJsonString('QUOTED_MESSAGE_LAST_UPDATE_TIME')
# Initialize request argument(s)
request = google_chat.CreateMessageRequest(
# TODO(developer): Replace SPACE_NAME.
parent='spaces/SPACE_NAME',
# Create the message.
message = google_chat.Message(
text='I am responding to a quoted message!',
# quotedMessageMetadata lets Chat apps respond to a message by quoting it.
quoted_message_metadata=google_chat.QuotedMessageMetadata(
name='QUOTED_MESSAGE_NAME',
last_update_time=last_update_time
)
)
)
# Make the request
response = client.create_message(request)
# Handle the response
print(response)
create_message_quote_message()
Java
import com.google.chat.v1.ChatServiceClient;
import com.google.chat.v1.CreateMessageRequest;
import com.google.chat.v1.Message;
import com.google.chat.v1.QuotedMessageMetadata;
import com.google.protobuf.util.Timestamps;
import com.google.workspace.api.chat.samples.utils.AuthenticationUtils;
import java.text.ParseException;
// This sample shows how to create a message that quotes another message.
public class CreateMessageQuoteMessage {
public static void main(String[] args) throws Exception, ParseException {
// Create a client.
ChatServiceClient chatClient = AuthenticationUtils.createClientWithUserCredentials();
// Initialize request argument(s).
// TODO(developer): Replace SPACE_NAME, QUOTED_MESSAGE_NAME,
// and QUOTED_MESSAGE_LAST_UPDATE_TIME here.
String parent = "spaces/SPACE_NAME";
String quotedMessageName = "QUOTED_MESSAGE_NAME";
String lastUpdateTime = "QUOTED_MESSAGE_LAST_UPDATE_TIME";
QuotedMessageMetadata quotedMessageMetadata =
QuotedMessageMetadata.newBuilder()
.setName(quotedMessageName)
.setLastUpdateTime(Timestamps.parse(lastUpdateTime))
.build();
Message message = Message.newBuilder()
.setText("I am responding to a quoted message!")
.setQuotedMessageMetadata(quotedMessageMetadata)
.build();
CreateMessageRequest request =
CreateMessageRequest.newBuilder()
.setParent(parent)
.setMessage(message)
.build();
// Make the request.
Message response = chatClient.createMessage(request);
// Handle the response.
System.out.println(response);
}
}
Apps Script
/**
* Creates a message that quotes another message.
*
* Relies on the OAuth2 scope 'https://www.googleapis.com/auth/chat.messages.create'
* referenced in the manifest file (appsscript.json).
*/
function createMessageQuoteMessage() {
// Initialize request argument(s)
// TODO(developer): Replace SPACE_NAME here.
const parent = 'spaces/SPACE_NAME';
const message = {
// The text content of the message.
text: 'I am responding to a quoted message!',
// quotedMessageMetadata lets Chat apps respond to a message by quoting it.
//
// TODO(developer): Replace QUOTED_MESSAGE_NAME
// and QUOTED_MESSAGE_LAST_UPDATE_TIME .
quotedMessageMetadata: {
name: 'QUOTED_MESSAGE_NAME',
lastUpdateTime: 'QUOTED_MESSAGE_LAST_UPDATE_TIME',
}
};
// Make the request
const response = Chat.Spaces.Messages.create(message, parent);
// Handle the response
console.log(response);
}
Để chạy mẫu này, hãy thay thế các giá trị sau:
SPACE_NAME: mã nhận dạng từ trườngnamecủa không gian. Bạn có thể lấy mã nhận dạng bằng cách gọi phương thứcListSpaces()(rpc,rest) hoặc từ URL của không gian.QUOTED_MESSAGE_NAME: tài nguyên tin nhắnname(rpc,rest) của tin nhắn cần trích dẫn ở định dạngspaces/{space}/messages/{message}.QUOTED_MESSAGE_LAST_UPDATE_TIME: thời gian cập nhật gần đây nhất của tin nhắn mà bạn muốn trích dẫn. Nếu tin nhắn chưa từng được chỉnh sửa, thì giá trị này tương ứng vớicreateTime(rpc,rest). Nếu tin nhắn đã được chỉnh sửa, thì giá trị này tương ứng vớilastUpdateTime(rpc,rest).
Khắc phục sự cố
Khi một ứng dụng hoặc thẻ Google Chat trả về lỗi, giao diện Chat sẽ hiển thị thông báo "Đã 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ị thông báo lỗi, nhưng ứng dụng Chat hoặc thẻ lại tạo ra kết quả không mong muốn; ví dụ: tin nhắn dạng 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 của Chat, nhưng bạn có thể xem thông báo lỗi mô tả và dữ liệu nhật ký để khắc phục lỗi khi bật tính năng ghi nhật ký lỗi cho ứng dụng Chat. Để được trợ giúp xem, gỡ lỗi và khắc phục lỗi, hãy xem bài viết Khắc phục sự cố và sửa lỗi trong Google Chat.
Chủ đề có liên quan
- Sử dụng Trình tạo thẻ để thiết kế và xem trước tin nhắn dạng thẻ JSON cho ứng dụng Chat.
- Định dạng tin nhắn.
- Xem thông tin chi tiết về một tin nhắn.
- Liệt kê tin nhắn trong không gian.
- Cập nhật tin nhắn.
- Xoá tin nhắn.
- Xác định người dùng trong tin nhắn trò chuyện trên Google Chat.
- Gửi tin nhắn đến Google Chat bằng webhook đến.