格式消息

本页介绍了 Google Chat 应用如何设置文本格式,以发送包含以下任何内容的消息:

  • 富文本,其中包含超链接或 @提及 Chat 聊天室中的一个或所有用户。
  • 显示在卡片界面中的文本,包括段落文本或与图标(例如按钮)一起显示的界面文本。

设置文本消息的格式

Chat 允许您使用 Markdown 语法的子集为文本消息添加基本格式,包括粗体、斜体和删除线。您在文本消息中设置文本格式的方式与在卡片消息中不同,因为文本消息的格式与 Chat 用户使用的语法相同。

如需设置文本消息的格式,请使用以下语法:

格式 符号 示例语法 在 Google Chat 中显示的文本
粗体 * *hello* hello
斜体 _(下划线) _hello_ hello
删除线 ~ ~hello~ hello
等宽字体 `(反引号) `hello` hello
等宽字体块 ` ` ` (三个反引号)
Hello
World
Hello
World
项目符号列表 * 或 -(连字符),后跟一个空格

* 这是列表中的第一个条目

* 这是列表中的第二个条目

  • 这是列表中的第一个条目
  • 这是列表中的第二个条目
代码块引用 >(大于号) >hello
代码块引用格式图标 hello
超链接 <hyperlink|display text> <https://example.com|Example website>

Example website

如需详细了解超链接,请参阅设置链接格式

提及用户 <users/{user}>,其中 {user} 是用户 ID。 <users/123456789012345678901>

@Mahan S

如需详细了解如何提及用户,请参阅在文本消息中提及用户

例如,请考虑以下 JSON:

    {
      "text": "Your pizza delivery *has arrived*!\nThank you for using _Cymbal Pizza!_"
    }

此格式化文本消息在 Chat 聊天室中显示如下:

Cymbal Pizza 应用发送一条短信,告知用户外卖已送达。

查看消息中发送的文本格式

当用户发送消息时,消息的纯文本正文位于 text 字段中。使用 Markdown 语法应用于文本消息的某些格式位于 text 字段中。其他格式位于仅输出的 formattedText 字段中,包括以下内容:

  • 文本的其他 Markdown 语法
  • 用户提及
  • 自定义超链接
  • 自定义表情符号

例如,请考虑用户发送的以下文本:

在 Chat 中收到了包含以下字词的消息

如果消息是使用 Chat 界面中的格式 菜单设置的格式,则 text 字段仅包含文本,而 formattedText 字段包含标记、文本和超链接。以下示例显示了文本消息的草稿,其中包含一个超链接字词、列表中的条目以及一个加粗的字词:

包含“

消息的接收格式如下:

    {
      "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*?",
    }

如果您在消息文本中添加纯链接网址(例如 http://www.example.com/),Google Chat 会将其用作链接文本,并自动将该文本超链接到指定的网址。

如需为链接提供替代链接文本,请使用以下语法:

示例语法 在 Google Chat 中显示的文本
<https://example.com|Example website>

管道和链接文本是可选的,因此 <https://www.example.com/>https://www.example.com/ 是等效的。

在文本消息中使用自定义表情符号

Chat 应用可以 发送带有自定义表情符号的文本消息 以实现消息个性化。自定义表情符号仅适用于 Google Workspace 组织,并且管理员必须为组织启用自定义表情符号。如需了解详情,请参阅 了解 Google Chat 中的自定义表情符号管理自定义表情符号权限

如需创建带有自定义表情符号的消息,您的应用必须使用 用户身份验证。 通过 Webhook 创建的消息 或使用应用身份验证创建的消息不支持自定义表情符号。

如需将自定义表情符号添加到消息文本中,请指定 nameemoji_namecustomEmoji 资源:

{
    "text": "Hello <customEmojis/CUSTOM_EMOJI_ID>."
}

如需使用此示例,请将 CUSTOM_EMOJI_ID 替换为自定义表情符号的 ID。您可以在 nameemoji_name 字段中找到此 ID。customEmoji

在文本消息中提及用户

Chat 应用可以 发送文本消息 ,以 @提及 Chat 聊天室中的一个或所有用户。 Chat 应用还可以提及尚未加入聊天室或 处于导入模式的聊天室的成员

静默消息不支持 提及用户。在静默消息中添加提及会返回错误。

@提及特定用户

如需 @提及特定用户,请将 <users/{user}> 添加到文本消息中,其中 {user} 是用户 ID。例如,请考虑以下文本消息,其中 123456789012345678901 表示用户 Mahan S. 的 ID:

{
    "text": "A customer has reported an issue. Assigning ticket #942 to <users/123456789012345678901>."
}

文本消息显示如下:

聊天应用在短信中提及某人。

您可以通过以下方式指定 users/{user} 值:

  • 如果您的 Google Chat 应用正在响应用户发送的消息,则可以使用 message.sender.name 互动事件的 MESSAGE 字段。
  • 如果您的 Google Chat 应用正在创建 异步文本消息, 则可以通过以下方式指定 users/{user} 的值:

    • 使用 Google Chat User 资源的 name 字段,例如 users/123456789012345678901
    • 使用用户的电子邮件地址作为 {user} 值的别名。例如,如果电子邮件地址为 mahan@example.com,则可以将用户指定为 users/mahan@example.com。如需使用邮箱别名,您的 Google Chat 应用必须 以用户身份进行身份验证
  • 如果您使用 People API,还可以使用 people.get方法 来识别用户 ID。

@提及所有用户

如需创建一条 @提及聊天室中所有用户的文本消息,请将 {user} 替换为 all。以下 JSON 示例在消息中提及了所有用户:

{
    "text": "Important message for <users/all>: Code freeze starts at midnight tonight!"
}

设置卡片中显示的文本的格式

在卡片内,大部分文本字段都支持通过一小部分 HTML 标记进行基本的文本格式设置。您在卡片消息中设置文本格式的方式与在文本消息中不同,因为文本消息的格式与 Chat 用户使用的语法相同。


使用卡片构建器为 Chat 应用设计消息传递和界面并预览:

打开卡片构建器

设置段落文本的格式

下表显示了受支持的标记及其用途:

格式 示例 呈现的结果
粗体 "This is <b>bold</b>." This is bold.
斜体 "This is <i>italics</i>." This is italics.
下划线 "This is <u>underline</u>." This is underline.
删除线 "This is <s>strikethrough</s>." This is strikethrough.
字体颜色 "This is <font color=\"#FF0000\">red font</font>." This is red font.
Hyperlink "This is a <a href=\"https://www.google.com\">hyperlink</a>." This is a hyperlink.
时间 "This is a time format: <time>2023-02-16 15:00</time>." This is a time format: .
换行符 "This is the first line. <br> This is a new line." This is the first line.
This is a new line.

如需定义列表和代码块,请使用以下标记:

格式 示例 呈现的结果
新行 "Line 1<br>Line 2" Line 1
Line 2
等宽字体 "This is an <code>inline code</code>." This is an inline code.
等宽字体块 "<pre><code>This a code block.</code></pre>"
This is a code block.
项目符号列表 "<ul><li>List item 1</li><li>List item 2</li></ul>"
  • List item 1
  • List item 2
有序列表 "<ol><li>List item 1</li><li>List item 2</li></ol>"
  1. List item 1
  2. List item 2

Markdown

启用 Markdown 语法 后,您可以使用以下语法:

格式 示例 呈现的结果
粗体 **hello** 或 __hello__ hello
斜体 *hello* 或 _hello_ hello
删除线 ~hello~ hello
等宽字体 `hello` hello
等宽字体块
Hello
World
Hello
World
项目符号列表

这是列表中的第一个条目

这是列表中的第二个条目

  • 这是列表中的第一个条目
  • 这是列表中的第二个条目

* 这是列表中的第一个条目

* 这是列表中的第二个条目

  • 这是列表中的第一个条目
  • 这是列表中的第二个条目
有序列表

1. 这是列表中的第一个条目

2. 这是列表中的第二个条目

  1. 这是列表中的第一个条目
  2. 这是列表中的第二个条目
Hyperlink [Example website](https://example.com) Example website

向文本添加图标

如需在卡片中显示文本旁边的图标,可以使用 DecoratedTextButtonList 微件。

以下部分介绍了如何在装饰文本或按钮中使用内置图标、Google Material 图标或自定义图标。

使用 Chat 中的图标

如需使用 Chat 中提供的内置图标,请指定以下任一项:

下表列出了可用于卡片消息的内置图标:

AIRPLANE BOOKMARK
BUS CAR
CLOCK CONFIRMATION_NUMBER_ICON
DESCRIPTION DOLLAR
EMAIL EVENT_SEAT
FLIGHT_ARRIVAL FLIGHT_DEPARTURE
HOTEL HOTEL_ROOM_TYPE
INVITE MAP_PIN
MEMBERSHIP MULTIPLE_PEOPLE
PERSON PHONE
RESTAURANT_ICON SHOPPING_CART
STAR STORE
TICKET TRAIN
VIDEO_CAMERA VIDEO_PLAY

以下是带有电子邮件图标的卡片的示例:

使用 Google Material 图标

您可以使用 Google Material 图标 从 2500 多个图标选项中进行选择,并自定义图标的 粗细、填充和等级。

以下是带有 Google Material 图标的卡片的示例:

使用自定义图标

如需添加自定义图标,请添加 iconUrl 字段并指定图标的相应网址。

以下是自定义图标的示例: