Trang này giải thích cách các ứng dụng Google Chat có thể định dạng văn bản để gửi tin nhắn chứa bất kỳ nội dung nào sau đây:
- Văn bản đa dạng thức chứa siêu liên kết hoặc @đề cập đến một hoặc tất cả người dùng trong một không gian Chat.
- Văn bản xuất hiện trong giao diện thẻ, bao gồm cả văn bản đoạn văn hoặc văn bản giao diện người dùng xuất hiện cùng với một biểu tượng, chẳng hạn như nút.
Định dạng tin nhắn văn bản
Chat cho phép bạn thêm định dạng cơ bản vào tin nhắn văn bản, bao gồm cả chữ in đậm, in nghiêng và gạch ngang chữ. Bạn định dạng văn bản trong tin nhắn văn bản khác với trong tin nhắn dạng thẻ vì tin nhắn văn bản được định dạng bằng cú pháp giống như cú pháp mà người dùng Chat sử dụng.
Đối với tin nhắn được gửi hoặc truy xuất bằng API Chat, bạn có thể sử dụng
cú pháp Markdown tiêu chuẩn (MARKUP_SYNTAX_MARKDOWN) hoặc cú pháp
đánh dấu của Chat (MARKUP_SYNTAX_CHAT). Bạn có thể định cấu hình Cú pháp đánh dấu mặc định ở cấp ứng dụng trong Google Cloud Console (xem phần Định cấu hình
API Google Chat):
- Markdown: Cú pháp Markdown chuẩn (
MARKUP_SYNTAX_MARKDOWN), dựa trên quy cách CommonMark có thêm các tiện ích bổ sung. Các ứng dụng Chat mới tạo sẽ mặc định sử dụng Markdown. - Chat: Cú pháp đánh dấu của Chat (
MARKUP_SYNTAX_CHAT). Các ứng dụng Chat hiện có sẽ mặc định sử dụng Chat để duy trì khả năng tương thích ngược.
Bạn cũng có thể chỉ định markup_syntax cho từng yêu cầu API Chat để ghi đè chế độ mặc định ở cấp ứng dụng. Khi bạn không chỉ định markup_syntax trong một yêu cầu API, mã đánh dấu sẽ được đặt dựa trên cách bạn gọi API Chat:
- Ứng dụng Chat đã định cấu hình: Sử dụng Cú pháp đánh dấu được lưu trên trang Cấu hình API Chat.
- Dự án trên đám mây chưa được định cấu hình (không có cấu hình): Nếu dự án trên đám mây của bạn gọi Chat API mà không có cấu hình ứng dụng Chat đã lưu, thì các yêu cầu sẽ mặc định là
MARKUP_SYNTAX_MARKDOWN. - Webhook đến: Mặc định là
MARKUP_SYNTAX_CHAT. Xem bài viết Gửi tin nhắn bằng webhook đến.
Để định dạng tin nhắn văn bản, hãy sử dụng cú pháp sau:
| Định dạng | MARKUP_SYNTAX_CHAT | MARKUP_SYNTAX_MARKDOWN | Cú pháp ví dụ | Văn bản xuất hiện trong Google Chat |
|---|---|---|---|---|
| Đậm | * |
** |
hoặc:
|
xin chào |
| In nghiêng | _ (dấu gạch dưới) |
* |
hoặc:
|
xin chào |
| Gạch ngang chữ | ~ |
~~ |
hoặc:
|
|
| Đơn cách | ` (dấu nháy ngược) | ` (dấu nháy ngược) | `xin chào` | hello |
| Khối đơn cách | ` ` ` (ba dấu trích dẫn) | ` ` ` (ba dấu trích dẫn) | Hello World |
Hello |
| Danh sách có dấu đầu dòng | * hoặc - (dấu gạch nối) theo sau là dấu cách | * hoặc - (dấu gạch nối) theo sau là dấu cách | * Đây là mục đầu tiên trong danh sách. * Đây là mục thứ hai trong danh sách. |
|
| Danh sách lồng nhau | * hoặc - (dấu gạch nối) theo sau là dấu cách, trước đó là bốn dấu cách cho mỗi cấp lồng nhau | * hoặc - (dấu gạch nối) theo sau là dấu cách, trước đó là bốn dấu cách cho mỗi cấp lồng nhau | * Đây là mục có độ sâu lồng nhau là một trong danh sách. * Đây là mục có độ sâu lồng nhau là 2 trong danh sách. * Đây là mục có độ sâu lồng nhau là 3 trong danh sách. |
|
| Danh sách được đánh số | Không được hỗ trợ | 1. (số, theo sau là dấu chấm và dấu cách) | 1. Đây là mục đầu tiên trong danh sách. 2. Đây là mục thứ hai trong danh sách. |
|
| Khối trích dẫn | > (dấu lớn hơn) | > (dấu lớn hơn) | >xin chào |
|
| Siêu liên kết | <hyperlink|display text> |
[display text](hyperlink) |
hoặc:
|
Để tìm hiểu thêm về cách tạo siêu liên kết, hãy xem bài viết Định dạng đường liên kết. |
| Đề cập đến người dùng | <users/{user}> trong đó {user} là mã nhận dạng người dùng. |
hoặc:
|
hoặc:
|
@Mahan S Để tìm hiểu thêm về cách đề cập đến người dùng, hãy xem bài viết Đề cập đến người dùng trong tin nhắn văn bản. |
| Custom Emoji |
hoặc:
|
hoặc:
|
hoặc:
hoặc:
hoặc:
|
🐱 (Biểu tượng cảm xúc tuỳ chỉnh hình mèo cười) |
| Trích dẫn | Không được hỗ trợ | <chat-citation data-id="{id}">{text}</chat-citation> trong đó {id} là mã nhận dạng của nguồn trích dẫn được xác định trong thông báo elements. |
<chat-citation data-id="cite_1">cited text</chat-citation> |
văn bản được trích dẫn Để tìm hiểu thêm về trích dẫn, hãy xem bài viết Thêm trích dẫn vào tin nhắn văn bản. |
Ví dụ: hãy xem xét tệp JSON sau:
{
"text": "Your pizza delivery *has arrived*!\nThank you for using _Cymbal Pizza!_"
}
Tin nhắn văn bản được định dạng này sẽ hiển thị nội dung sau đây trong một không gian trên Chat:
Xem định dạng văn bản được gửi trong tin nhắn
Khi người dùng gửi tin nhắn, nội dung văn bản thuần túy của tin nhắn sẽ nằm trong trường text. Một số định dạng được áp dụng cho tin nhắn văn bản bằng cú pháp Markdown nằm trong trường text. Định dạng bổ sung nằm trong trường chỉ có đầu ra formattedText, bao gồm:
- Cú pháp Markdown bổ sung cho văn bản
- Người dùng đề cập đến
- Siêu liên kết tuỳ chỉnh
- Biểu tượng cảm xúc tuỳ chỉnh
Ví dụ: hãy xem xét văn bản sau đây do người dùng gửi:
Nếu tin nhắn được định dạng bằng trình đơn Định dạng trong giao diện người dùng của Chat, thì trường text chỉ chứa văn bản, còn trường formattedText chứa mã đánh dấu, văn bản và siêu liên kết. Ví dụ sau đây cho thấy bản nháp của một tin nhắn văn bản có một từ được siêu liên kết, các mục trong danh sách và một từ được in đậm:
Thông báo được nhận ở định dạng sau:
{
"text": "I can meet there at:\nNoon\n3 pm\n5 pm\nWhat time works for you?",
"formattedText": "I can meet <http://example.com|there> at:\n* Noon\n* 3 pm\n* 5 pm\nWhat time works for *you*?",
}
Định dạng đường liên kết
Nếu bạn thêm một URL liên kết thuần tuý vào văn bản tin nhắn, chẳng hạn như http://www.example.com/, thì Google Chat sẽ sử dụng URL này làm văn bản liên kết và tự động siêu liên kết văn bản đó với URL được chỉ định.
Để cung cấp văn bản liên kết thay thế cho đường liên kết, hãy sử dụng cú pháp sau:
Đối với các thông báo API được định cấu hình bằng Markdown, hãy sử dụng cú pháp đường liên kết Markdown chuẩn:
Cú pháp ví dụ Văn bản xuất hiện trong Google Chat [Example website](https://example.com)Đối với tin nhắn văn bản thuần túy tiêu chuẩn, hãy sử dụng cú pháp dấu gạch đứng:
Cú pháp ví dụ Văn bản xuất hiện trong Google Chat <https://example.com|Example website>Dấu gạch đứng và văn bản liên kết là không bắt buộc, vì vậy
<https://example.com>vàhttps://example.comlà tương đương.
Sử dụng biểu tượng cảm xúc tuỳ chỉnh trong tin nhắn văn bản
Ứng dụng trò chuyện có thể gửi tin nhắn văn bản bằng biểu tượng cảm xúc tuỳ chỉnh để cá nhân hoá tin nhắn. Chỉ các tổ chức sử dụng Google Workspace mới có thể dùng biểu tượng cảm xúc tuỳ chỉnh và quản trị viên phải bật biểu tượng cảm xúc tuỳ chỉnh cho tổ chức. Để biết thêm thông tin, hãy xem bài viết Tìm hiểu về biểu tượng cảm xúc tuỳ chỉnh trong Google Chat và Quản lý quyền đối với biểu tượng cảm xúc tuỳ chỉnh.
Để tạo tin nhắn có biểu tượng cảm xúc tuỳ chỉnh, ứng dụng của bạn phải sử dụng tính năng xác thực người dùng. Biểu tượng cảm xúc tuỳ chỉnh không được hỗ trợ trong tin nhắn được tạo dưới dạng webhook hoặc trong tin nhắn được tạo bằng phương thức xác thực ứng dụng.
Để thêm biểu tượng cảm xúc tuỳ chỉnh vào văn bản của tin nhắn, hãy chỉ định name hoặc emoji_name của tài nguyên customEmoji:
{
"text": "Hello <customEmojis/CUSTOM_EMOJI_ID>."
}
Để sử dụng mẫu này, hãy thay thế CUSTOM_EMOJI_ID bằng mã nhận dạng của biểu tượng cảm xúc tuỳ chỉnh. Bạn có thể tìm thấy mã nhận dạng này trong trường name hoặc emoji_name của tài nguyên customEmoji.
Nếu ứng dụng của bạn gửi tin nhắn bằng cú pháp Markdown, thì bạn có thể chỉ định biểu tượng cảm xúc tuỳ chỉnh ở định dạng thẻ HTML bằng cách sử dụng mã nhận dạng biểu tượng cảm xúc tuỳ chỉnh:
{
"text": "Hello <chat-emoji data-custom-emoji=\"customEmojis/CUSTOM_EMOJI_ID\">."
}
Hoặc bạn có thể chỉ định tên biểu tượng cảm xúc tuỳ chỉnh:
{
"text": "Hello <chat-emoji data-emoji-name=\"CUSTOM_EMOJI_NAME\">."
}
Để sử dụng các mẫu này, hãy thay thế CUSTOM_EMOJI_ID bằng mã biểu tượng cảm xúc tuỳ chỉnh và CUSTOM_EMOJI_NAME bằng tên mã ngắn của biểu tượng cảm xúc tuỳ chỉnh.
Đề cập đến người dùng trong tin nhắn văn bản
Ứng dụng trò chuyện có thể gửi tin nhắn văn bản @đề cập đến một hoặc tất cả người dùng trong một không gian trò chuyện. Ứng dụng Chat cũng có thể đề cập đến những người dùng chưa tham gia không gian hoặc là thành viên của một không gian đang ở chế độ nhập.
Tin nhắn không có âm thanh không hỗ trợ việc đề cập đến người dùng. Việc thêm nội dung đề cập trong tin nhắn không có thông báo sẽ trả về một lỗi.
Đề cập đến người dùng cụ thể bằng @
Để @đề cập đến một người dùng cụ thể, hãy thêm <users/{user}> vào tin nhắn văn bản, trong đó {user} là mã nhận dạng của người dùng. Ví dụ: hãy xem xét tin nhắn văn bản sau đây, trong đó 123456789012345678901 đại diện cho mã nhận dạng của người dùng Mahan S.:
{
"text": "A customer has reported an issue. Assigning ticket #942 to <users/123456789012345678901>."
}
Nếu ứng dụng của bạn gửi tin nhắn bằng cú pháp Markdown, hãy sử dụng định dạng thẻ HTML chat-user để chỉ định mã nhận dạng người dùng:
{
"text": "Assigning ticket #942 to <chat-user data-user=\"users/123456789012345678901\">."
}
Hoặc chỉ định theo email:
{
"text": "Assigning ticket #942 to <chat-user data-email=\"mahan@example.com\">."
}
Tin nhắn văn bản sẽ hiển thị như sau:
Bạn có thể chỉ định giá trị users/{user} theo những cách sau:
- Nếu ứng dụng Google Chat của bạn đang phản hồi tin nhắn do người dùng gửi, bạn có thể sử dụng trường
message.sender.namecủaMESSAGEsự kiện tương tác. Nếu ứng dụng Google Chat của bạn đang tạo một tin nhắn văn bản không đồng bộ, bạn có thể chỉ định giá trị cho
users/{user}theo những cách sau:- Sử dụng trường
namecủa tài nguyên Google ChatUser, chẳng hạn nhưusers/123456789012345678901. - Sử dụng địa chỉ email của người dùng làm email đại diện cho giá trị
{user}. Ví dụ: nếu địa chỉ email làmahan@example.com, bạn có thể chỉ định người dùng làusers/mahan@example.com. Để sử dụng email đại diện, ứng dụng Google Chat của bạn phải xác thực dưới dạng người dùng.
- Sử dụng trường
Nếu sử dụng People API, bạn cũng có thể dùng phương thức
people.getđể xác định mã nhận dạng người dùng.
@đề cập đến tất cả người dùng
Để tạo tin nhắn văn bản @đề cập đến mọi người trong một không gian, hãy thay thế {user} bằng all. Ví dụ về JSON sau đây đề cập đến tất cả người dùng trong một tin nhắn:
{
"text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}
Nếu ứng dụng của bạn gửi tin nhắn bằng cú pháp Markdown, hãy chỉ định lượt đề cập bằng định dạng thẻ HTML chat-user:
{
"text": "Important message for <chat-user data-user=\"users/all\">: Code freeze starts at midnight tonight!"
}
Thêm trích dẫn vào tin nhắn văn bản
Ứng dụng Chat có thể thêm trích dẫn vào tin nhắn văn bản để cung cấp thông tin chi tiết về nguồn cho người dùng. Bạn có thể cung cấp nguồn theo hai cách:
- Trích dẫn cùng dòng: Thêm thẻ tương tác xuất hiện khi người dùng di chuột qua các phần cụ thể trong văn bản thông báo của bạn.
- Nguồn ở chân trang: Hiển thị danh sách nguồn ở cuối tin nhắn dưới dạng đường liên kết ở chân trang.
Nguồn trích dẫn chỉ được hỗ trợ khi markupSyntax của tin nhắn được đặt thành MARKUP_SYNTAX_MARKDOWN. Tính năng này chỉ được hỗ trợ thông qua việc tạo tin nhắn không đồng bộ bằng API Chat.
Cách thêm trích dẫn cùng dòng vào tin nhắn:
- Cung cấp các nguồn trong danh sách
citationscủa thông báoelements, chỉ định mộtidriêng biệt cho mỗi đối tượngCitation. - Trong văn bản thông báo, hãy gói văn bản bạn muốn trích dẫn bằng định dạng thẻ HTML
chat-citation:<chat-citation data-id="{id}">{text}</chat-citation>. Đảm bảo{id}khớp với mã nhận dạng bạn đã xác định trongelements. Các trích dẫn không được tham chiếu (những trích dẫn không có thẻ khớp) sẽ bị bỏ qua.
{
"text": "This is a <chat-citation data-id=\"cite_1\">cited</chat-citation> text.",
"markupSyntax": "MARKUP_SYNTAX_MARKDOWN",
"elements": {
"citations": [
{
"id": "cite_1",
"citedSources": [
{
"title": "Example Source",
"uri": "https://example.com"
}
]
}
]
}
}
Để thêm nguồn chân trang vào một thông báo, hãy cung cấp các nguồn trong danh sách citedSources của thông báo elements. Mọi nguồn được cung cấp ở đây sẽ tự động xuất hiện bên dưới thông báo dưới dạng đường liên kết ở chân trang và không yêu cầu bất kỳ thẻ cùng dòng nào trong văn bản thông báo.
{
"text": "This is a message with a footer source.",
"markupSyntax": "MARKUP_SYNTAX_MARKDOWN",
"elements": {
"citedSources": [
{
"title": "Example Source",
"uri": "https://example.com"
}
]
}
}
Định dạng văn bản xuất hiện trong thẻ
Bên trong thẻ, hầu hết các trường văn bản đều hỗ trợ định dạng văn bản cơ bản bằng cách sử dụng một nhóm nhỏ các thẻ HTML. Bạn định dạng văn bản trong tin nhắn dạng thẻ khác với tin nhắn văn bản vì tin nhắn văn bản được định dạng bằng cú pháp giống như cú pháp mà người dùng Chat sử dụng.
Sử dụng Trình tạo thẻ để thiết kế và xem trước giao diện người dùng cũng như thông báo cho ứng dụng Chat:
Mở Trình tạo thẻĐịnh dạng văn bản đoạn văn
Các thẻ được hỗ trợ và mục đích của các thẻ đó được trình bày trong bảng sau:
| Định dạng | Ví dụ | Kết quả được kết xuất |
|---|---|---|
| Đậm | "This is <b>bold</b>." |
Đây là văn bản in đậm. |
| In nghiêng | "This is <i>italics</i>." |
Đây là chữ in nghiêng. |
| Gạch dưới | "This is <u>underline</u>." |
Đây là gạch dưới. |
| Gạch ngang chữ | "This is <s>strikethrough</s>." |
Đây là |
| Màu phông chữ | "This is <font color=\"#FF0000\">red font</font>." |
Đây là phông chữ màu đỏ. |
| Siêu liên kết | "This is a <a href=\"https://www.google.com\">hyperlink</a>." |
Đây là một siêu liên kết. |
| Thời gian | "This is a time format: <time>2023-02-16 15:00</time>." |
Đây là định dạng thời gian: . |
| Dòng mới | "This is the first line. <br> This is a new line." |
Đây là dòng đầu tiên. Đây là một dòng mới. |
Để xác định danh sách và khối mã, hãy sử dụng các thẻ sau:
| Định dạng | Ví dụ | Kết quả được kết xuất |
|---|---|---|
| Dòng mới | "Line 1<br>Line 2" |
Dòng 1 Dòng 2 |
| Đơn cách | "This is an <code>inline code</code>." |
Đây là inline code. |
| Khối đơn cách | "<pre><code>This a code block.</code></pre>" |
|
| Danh sách có dấu đầu dòng | "<ul><li>List item 1</li><li>List item 2</li></ul>" |
|
| Danh sách theo thứ tự | "<ol><li>List item 1</li><li>List item 2</li></ol>" |
|
Markdown
Khi bật cú pháp Markdown, bạn có thể sử dụng cú pháp sau:
| Định dạng | Ví dụ | Kết quả được kết xuất |
|---|---|---|
| Đậm | **hello** hoặc __hello__ | xin chào |
| In nghiêng | *xin chào* hoặc _xin chào_ | xin chào |
| Gạch ngang chữ | ~xin chào~ | |
| Đơn cách | `xin chào` | hello |
| Khối đơn cách | Hello World |
Hello |
| Danh sách có dấu đầu dòng | – Đây là mục đầu tiên trong danh sách – Đây là mục thứ hai trong danh sách |
|
|
* Đây là mục đầu tiên trong danh sách * Đây là mục thứ hai trong danh sách |
|
|
| Danh sách theo thứ tự | 1. Đây là mục đầu tiên trong danh sách 2. Đây là mục thứ hai trong danh sách |
|
| Siêu liên kết | [Trang web mẫu](https://example.com) | Ví dụ về trang web |
Thêm biểu tượng vào văn bản
Để hiển thị biểu tượng cùng với văn bản trong thẻ, bạn có thể sử dụng các tiện ích
DecoratedText
và
ButtonList.
Các phần sau đây giải thích cách sử dụng biểu tượng tích hợp, biểu tượng Material của Google hoặc biểu tượng tuỳ chỉnh trong văn bản hoặc nút được trang trí.
Sử dụng biểu tượng trong Chat
Để sử dụng biểu tượng tích hợp sẵn có trong Chat, hãy chỉ định một trong những biểu tượng sau:
Bảng sau đây liệt kê các biểu tượng tích hợp sẵn cho thông báo dạng thẻ:
| AIRPLANE | BOOKMARK | ||
| BUS | CAR | ||
| ĐỒNG HỒ | CONFIRMATION_NUMBER_ICON | ||
| NỘI DUNG MÔ TẢ | DOLLAR | ||
| EVENT_SEAT | |||
| FLIGHT_ARRIVAL | FLIGHT_DEPARTURE | ||
| HOTEL | HOTEL_ROOM_TYPE | ||
| MỜI | MAP_PIN | ||
| GÓI THÀNH VIÊN | MULTIPLE_PEOPLE | ||
| PERSON | ĐIỆN THOẠI | ||
| RESTAURANT_ICON | SHOPPING_CART | ||
| STAR | CỬA HÀNG | ||
| VÉ | TÀU HOẢ | ||
| VIDEO_CAMERA | VIDEO_PLAY |
Sau đây là ví dụ về thẻ có biểu tượng email:
Sử dụng biểu tượng Material của Google
Bạn có thể sử dụng biểu tượng Material của Google để chọn trong số hơn 2.500 biểu tượng và tuỳ chỉnh độ đậm, màu nền và cấp độ của biểu tượng.
Sau đây là ví dụ về thẻ có biểu tượng Material của Google:
Sử dụng biểu tượng tuỳ chỉnh
Để thêm biểu tượng tuỳ chỉnh, hãy thêm trường iconUrl và chỉ định URL tương ứng của biểu tượng.
Sau đây là ví dụ về biểu tượng tuỳ chỉnh: