格式消息

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

  • 包含超链接或用“@”提及 Chat 聊天室中的一位或所有用户的富文本。
  • 显示在卡片界面中的文本,包括段落文本或按钮等图标旁边显示的界面文本。

设置短信格式

借助 Chat,您可以使用一小部分 Markdown 语法为文本消息添加基本格式,包括粗体、斜体和删除线。文本消息和卡片消息中的文本格式不同,因为文本消息的格式与 Chat 用户使用的语法相同。

如需设置短信格式,请使用以下语法:

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

* 这是列表中的第一项

* 这是列表中的第二项

  • 这是列表中的第一项
  • 这是列表中的第二项

例如,请考虑以下 JSON:

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

这种带格式的文本消息在 Chat 聊天室中显示以下内容:

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

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

用户发送消息时,消息的纯文本正文会显示在 text 字段中。使用 Markdown 语法对短信应用的某些格式设置位于 text 字段中。其他格式位于仅限输出的 formattedText 字段中,其中包括:

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

例如,假设用户发送了以下文本:

在 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 应用可以发送短信,在其中@提及 Chat 聊天室中的一位或所有用户。Chat 应用无法提及处于导入模式的聊天室中的用户或尚未加入聊天室的任何用户。

@提及特定用户

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

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

短信显示如下:

Chat 应用在短信中提及某人。

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

  • 如果您的 Google Chat 应用正在回复用户发送的消息,您可以使用 MESSAGE 互动事件message.sender.name 字段。
  • 如果您的 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 <i>italics</i>." 这是斜体
下划线 "This is <u>underline</u>." 其含义为 underline
删除线 "This is <s>strikethrough</s>." 这部分是删除线
字体颜色 "This is <font color=\"#FF0000\">red font</font>." 这是红色字体
超链接 "This is a <a href=\"https://www.google.com\">hyperlink</a>." 这是一条超链接
时间 "This is a time format: <time>2023-02-16 15:00</time>." 时间格式为:
换行符 "This is the first line. <br> This is a new line. 英寸 这是第一行。
另起一行。

向文本添加图标

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

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

使用 Chat 中的图标

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

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

飞机 书签
公交车 汽车
闹钟 CONFIRMATION_NUMBER_ICON
说明 美元
电子邮件 EVENT_SEAT
FLIGHT_ARRIVAL FLIGHT_DEPARTURE
HOTEL HOTEL_ROOM_TYPE
邀请 MAP_PIN
会员资格 MULTIPLE_PEOPLE
用户 PHONE
RESTAURANT_ICON SHOPPING_CART
STAR 商店
TICKET TRAIN
VIDEO_CAMERA VIDEO_PLAY

以下是包含电子邮件图标的卡片示例:

使用 Google Material 图标

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

以下是使用 Google Material 图标的卡片示例:

使用自定义图标

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

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