形式メッセージ

Google Chat では、メッセージの次のような書式を設定できます。

テキスト メッセージの書式を設定する

Chat では、Markdown 構文の小さなサブセットを使用して、太字、斜体、取り消し線など、テキスト メッセージに基本的な書式設定を追加できます。テキスト メッセージは Chat ユーザーと同じ構文でフォーマットされているため、テキスト メッセージとカード メッセージではテキストの形式が異なります。カードに表示されるテキストを書式設定するには、カード メッセージの書式を設定するをご覧ください。

テキスト メッセージの書式を設定するには、次の構文を使用します。

形式 記号 構文の例 Google Chat に表示されるテキスト
太字 * *こんにちは* こんにちは
斜体 _(アンダースコア) こんにちは こんにちは
取り消し線 ~ ~こんにちは~ こんにちは
等幅 `(バッククォート) 「こんにちは」 hello
等幅ブロック ` ` `(3 つのバッククォート) ```
Hello
World
```
Hello
World

たとえば、次の JSON について考えてみましょう。

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

この書式設定されたテキスト メッセージは、Chat スペースに次の内容を表示します。

Cymbal Pizza アプリが、配達が到着したというテキスト メッセージを送信します。

メッセージで送信されたテキストの書式設定を表示する

ユーザーがメッセージを送信すると、書式なしテキスト メッセージの本文が text フィールドに格納されます。マークダウン構文を使用してテキスト メッセージに適用される書式設定の一部は、text フィールドにあります。出力専用の formattedText フィールドには、次のような追加の書式設定があります。

  • テキストのマークアップ構文
  • ユーザーのメンション
  • カスタム ハイパーリンク
  • カスタム絵文字

たとえば、ユーザーが送信した次のテキストについて考えてみましょう。

次の単語を含むメッセージが Chat で受信されました

チャット UI の [Format] メニューを使用してメッセージが書式設定された場合、text フィールドにはテキストのみが含まれ、formattedText フィールドにはマークアップ、テキスト、ハイパーリンクが含まれます。次の例は、単語をハイパーリンク化し、別の単語を太字にしたテキスト メッセージの下書きを示しています。

次の単語を含むメッセージ

メッセージは次の形式で受信されます。

    {
      "text": "Be there at noon!",
      "formattedText": "Be <http://example.com|there> at *noon*",
    }

メッセージ テキストに書式なしリンク URL(http://www.example.com/ など)を含めると、Google Chat はこのテキストをリンクテキストとして使用し、そのテキストを指定された URL に自動的にハイパーリンクします。

リンクの代替リンクテキストを指定するには、次の構文を使用します。

構文の例 Google Chat に表示されるテキスト
<https://example.com|Example website>

パイプテキストとリンクテキストはオプションであるため、<https://www.example.com/>https://www.example.com/ は同じになります。

テキスト メッセージでユーザーをメンションする

Chat アプリでは、Chat スペースの 1 人またはすべてのユーザーに名前リンクを付けるテキスト メッセージを送信できます。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 ユーザーと同じ構文でフォーマットされるため、カード メッセージとテキスト メッセージではテキストの形式が異なります。テキスト メッセージに表示されるテキストの書式を設定するには、テキスト メッセージの書式を設定するをご覧ください。

次の表に、サポートされているタグとその目的を示します。

形式 レンダリングされた結果
太字 "This is <b>bold</b>." ここでは太字になっています。
イタリック体 "This is <i>italics</i>." これは斜体です。
下線 "This is <u>underline</u>." これは下線です。
取り消し線 "This is <s>strikethrough</s>." これは取り消し線になります。
フォントの色 "This is <font color=\"#FF0000\">red font</font>." フォントは赤色です。
Hyperlink "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. インチ これが 1 行目です。
これは新しい行です。

組み込みのアイコンをカードに追加する

DecoratedText ウィジェットと ButtonList ウィジェットは、Chat で利用できる組み込みアイコンのいずれかを指定するために使用される icon 要素をサポートしています。

次の表に、カード メッセージに使用できる組み込みアイコンを示します。

飛行機 BOOKMARK
BUS 自動車
時計 CONFIRMATION_NUMBER_ICON
DESCRIPTION 金額
メールアドレス EVENT_SEAT
FLIGHT_ARRIVAL FLIGHT_DEPARTURE
ホテル HOTEL_ROOM_TYPE
招待 MAP_PIN
メンバーシップ MULTIPLE_PEOPLE
ユーザー 電話
RESTAURANT_ICON SHOPPING_CART
スターを付ける 店舗
チケット TRAIN
VIDEO_CAMERA VIDEO_PLAY

メールアイコン付きのカードの例を次に示します。

カードにカスタム アイコンを追加する

DecoratedText ウィジェットと ButtonList ウィジェットでは、組み込みのアイコンを使用したり、独自のカスタム アイコンを定義したりできます。カスタム アイコンを指定するには、次の例で示すように iconUrl 要素を使用します。