形式メッセージ

このページでは、Google Chat 用アプリでテキストの書式を設定して、次のいずれかを含むメッセージを送信する方法について説明します。

  • Chat スペース内の 1 人またはすべてのユーザーへのハイパーリンクまたは @メンションを含むリッチテキスト。
  • カード インターフェースに表示されるテキスト。段落テキストや、ボタンなどのアイコンの横に表示される UI テキストなど。

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

Chat では、太字、斜体、取り消し線など、テキスト メッセージに基本的な書式を追加できます。テキスト メッセージは Chat ユーザーが使用するのと同じ構文で書式設定されるため、テキスト メッセージとカード メッセージではテキストの書式設定が異なります。

Chat API を使用して送信されるメッセージでは、元の Chat 構文を引き続き使用することも、標準の Markdown 構文を使用することもできます(リクエスト本文で markup_syntax を指定することでサポートされます)。

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

形式 MARKUP_SYNTAX_CHAT MARKUP_SYNTAX_MARKDOWN 構文の例 Google Chat に表示されるテキスト
太字 * **

*hello*

または

**hello**

こんにちは
斜体 _(アンダースコア) *

_hello_

または

*hello*

こんにちは
取り消し線 ~ ~~

~hello~

または

~~hello~~

こんにちは
等幅 ` (バッククォート) ` (バッククォート) `hello` hello
等幅ブロック ` ` ` (3 つのバッククォート) ` ` ` (3 つのバッククォート) ```
Hello
World
```
Hello
World
箇条書き * または -(ハイフン)とスペース 1 つ * または -(ハイフン)とスペース 1 つ

* これはリストの最初の項目です。

* これはリストの 2 番目の項目です。

  • これはリストの最初の項目です。
  • これがリストの 2 番目の項目です。
ネストされたリスト * または -(ハイフン)とスペース 1 つ(ネストレベルごとに 4 つのスペースが前に付く) * または -(ハイフン)とスペース 1 つ(ネストレベルごとに 4 つのスペースが前に付く)

* これは、リスト内のネストの深さが 1 のアイテムです。

    * これは、リストのネストの深さが 2 のアイテムです。

        * これは、リスト内のネストの深さが 3 の項目です。

  • これは、リスト内のネストされた深さが 1 のアイテムです。
    • これは、リスト内のネストの深さが 2 の項目です。
      • これは、リスト内のネストされた深さが 3 の項目です。
番号付きリスト サポート対象外 1. (数字の後にピリオドとスペース)

1. これはリストの最初の項目です。

2. これがリストの 2 番目の項目です。

  1. これはリストの最初の項目です。
  2. これがリストの 2 番目の項目です。
引用文 >(大なり記号) >(大なり記号) >hello
ブロック引用形式のアイコン こんにちは
Hyperlink <hyperlink|display text> [display text](hyperlink)

<https://example.com|Example website>

または

[Example website](https://example.com)

ウェブサイトの例

ハイパーリンクの詳細については、リンクの形式を設定するをご覧ください。

ユーザーをメンションする <users/{user}>{user} はユーザー ID)。

<chat-user data-user="users/{user}">

または

<chat-user data-email="{email}">

<users/123456789012345678901> または <users/all>

または

<chat-user data-user="users/123456789012345678901">

<chat-user data-user="users/all">、または

<chat-user data-email="email@example.com">

@Mahan S

ユーザーのメンションについて詳しくは、テキスト メッセージでユーザーをメンションするをご覧ください。

Custom Emoji

<customEmojis/{uid}>

または

<customEmojis/:{name}:>

<chat-emoji data-custom-emoji="customEmojis/{uid}">

または

<chat-emoji data-emoji-name=":{name}:">

<customEmojis/abc-123-def>

または

<customEmojis/:smiley-cat:>

または

<chat-emoji data-custom-emoji="customEmojis/abc-123-def">

または

<chat-emoji data-emoji-name=":smiley-cat:">

🐱(笑顔の猫のカスタム絵文字)
引用 サポート対象外 <chat-citation data-id="{id}">{text}</chat-citation>。ここで、{id} はメッセージ elements で定義された引用 ID です。 <chat-citation data-id="cite_1">cited text</chat-citation>

引用テキスト

引用について詳しくは、テキスト メッセージに引用を追加するをご覧ください。

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

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

この形式のテキスト メッセージは、Chat スペースに次の内容を表示します。

Cymbal Pizza アプリから、配達が到着したことを知らせるテキスト メッセージが送信されます。

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

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

  • テキスト用の追加のマークダウン構文
  • ユーザーのメンション
  • カスタム ハイパーリンク
  • カスタム絵文字

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

Chat で「

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

「

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

    {
      "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/ などのプレーン リンク URL を含めると、Google Chat はこれをリンク テキストとして使用し、そのテキストを指定された URL に自動的にハイパーリンクします。

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

  • マークダウンで構成された API メッセージの場合は、標準のマークダウン リンク構文を使用します。

    構文の例 Google Chat に表示されるテキスト
    [Example website](https://example.com)
  • 標準のプレーン テキスト メッセージの場合は、パイプ構文を使用します。

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

    パイプとリンクテキストは省略可能であるため、<https://example.com>https://example.com は同等です。

テキスト メッセージでカスタム絵文字を使用する

チャットアプリは、カスタム絵文字を含むテキスト メッセージを送信して、メッセージをカスタマイズできます。カスタム絵文字は Google Workspace 組織でのみ使用できます。管理者は組織でカスタム絵文字を有効にする必要があります。詳しくは、Google Chat のカスタム絵文字についてカスタム絵文字の権限を管理するをご覧ください。

カスタム絵文字を含むメッセージを作成するには、アプリでユーザー認証を使用する必要があります。カスタム絵文字は、Webhook として作成されたメッセージアプリ認証で作成されたメッセージではサポートされていません。

メッセージのテキストにカスタム絵文字を追加するには、customEmoji リソースの name または emoji_name を指定します。

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

このサンプルを使用するには、CUSTOM_EMOJI_ID をカスタム絵文字の ID に置き換えます。この ID は、customEmoji リソースの name フィールドまたは emoji_name フィールドで確認できます。

アプリが Markdown 構文を使用してメッセージを送信する場合は、カスタム絵文字 ID を使用して HTML タグ形式でカスタム絵文字を指定できます。

{
  "text": "Hello <chat-emoji data-custom-emoji=\"customEmojis/CUSTOM_EMOJI_ID\">."
}

または、カスタム絵文字の名前を指定することもできます。

{
  "text": "Hello <chat-emoji data-emoji-name=\"CUSTOM_EMOJI_NAME\">."
}

これらのサンプルを使用するには、CUSTOM_EMOJI_ID をカスタム絵文字 ID に、CUSTOM_EMOJI_NAME をカスタム絵文字のショートコード名に置き換えます。

テキスト メッセージでユーザーの名前リンクを使用する

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-user HTML タグ形式を使用してユーザー ID を指定します。

{
  "text": "Assigning ticket #942 to <chat-user data-user=\"users/123456789012345678901\">."
}

または、メールで指定します。

{
  "text": "Assigning ticket #942 to <chat-user data-email=\"mahan@example.com\">."
}

次のようなテキスト メッセージが表示されます。

チャットアプリでテキスト メッセージ内のユーザーがメンションされている。

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!"
}

アプリが Markdown 構文を使用してメッセージを送信する場合は、chat-user HTML タグ形式を使用してメンションを指定します。

{
  "text": "Important message for <chat-user data-user=\"users/all\">: Code freeze starts at midnight tonight!"
}

テキスト メッセージに引用を追加する

チャットアプリは、テキスト メッセージに引用を含めて、ユーザーに詳細なソース情報を提供できます。ソースは次の 2 つの方法で指定できます。

  • インライン引用: ユーザーがメッセージ テキストの特定の部分にポインタを合わせると表示されるインタラクティブ カードを追加します。
  • フッターのソース: メッセージの下部にソースのリストをフッターリンクとして表示します。

引用は、メッセージの markupSyntaxMARKUP_SYNTAX_MARKDOWN に設定されている場合にのみサポートされます。この機能は、Chat API を使用した非同期メッセージ作成でのみサポートされています。

メッセージにインライン引用を追加するには:

  1. メッセージ elementscitations リストでソースを指定し、各 Citation オブジェクトに一意の id を割り当てます。
  2. メッセージ テキストで、引用するテキストを chat-citation HTML タグ形式(<chat-citation data-id="{id}">{text}</chat-citation>)で囲みます。{id}elements で定義した ID と一致することを確認します。参照されていない引用(一致するタグがない引用)は無視されます。
{
  "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"
          }
        ]
      }
    ]
  }
}

メッセージにフッター ソースを追加するには、メッセージ elementscitedSources リストでソースを指定します。ここで指定したソースは、メッセージのフッターリンクとして自動的に表示されます。メッセージ本文にインライン タグは必要ありません。

{
  "text": "This is a message with a footer source.",
  "markupSyntax": "MARKUP_SYNTAX_MARKDOWN",
  "elements": {
    "citedSources": [
      {
        "title": "Example Source",
        "uri": "https://example.com"
      }
    ]
  }
}

カードに表示されるテキストの書式を設定する

カード内のほとんどのテキスト フィールドは、HTML タグの小さなサブセットを使用して基本的なテキスト形式をサポートしています。テキスト メッセージは Chat ユーザーが使用するのと同じ構文で書式設定されるため、カード メッセージとテキスト メッセージではテキストの書式設定が異なります。


カード作成ツールを使用して、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." これが最初の行です。
これは新しい行です。

リストとコードブロックを定義するには、次のタグを使用します。

形式 レンダリングされた結果
改行 "Line 1<br>Line 2" 行 1
行 2
等幅 "This is an <code>inline code</code>." これは 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>"
  • リスト項目 1
  • リスト項目 2
順序付きリスト "<ol><li>List item 1</li><li>List item 2</li></ol>"
  1. リスト項目 1
  2. リスト項目 2

マークダウン

マークダウン構文がオンになっている場合は、次の構文を使用できます。

形式 レンダリングされた結果
太字 **hello** または __hello__ こんにちは
斜体 *hello* または _hello_ こんにちは
取り消し線 ~hello~ こんにちは
等幅 `hello` hello
等幅ブロック ```
Hello
World
```
Hello
World
箇条書き

- これはリストの最初の項目です

- これはリストの 2 番目の項目です

  • これはリストの最初の項目です
  • これがリストの 2 番目の項目です

* これはリストの最初の項目です

* これはリストの 2 番目の項目です

  • これはリストの最初の項目です
  • これがリストの 2 番目の項目です
順序付きリスト

1. これはリストの最初の項目です

2. これがリストの 2 番目の項目です

  1. これはリストの最初の項目です
  2. これがリストの 2 番目の項目です
Hyperlink [ウェブサイトの例](https://example.com) ウェブサイトの例

テキストにアイコンを追加する

カード内のテキストの横にアイコンを表示するには、DecoratedText ウィジェットと ButtonList ウィジェットを使用します。

以降のセクションでは、装飾されたテキストやボタンで組み込みアイコン、Google マテリアル アイコン、カスタム アイコンを使用する方法について説明します。

Chat のアイコンを使用する

Chat で使用できる組み込みアイコンを使用するには、次のいずれかを指定します。

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

AIRPLANE BOOKMARK
BUS CAR
CLOCK CONFIRMATION_NUMBER_ICON
説明 DOLLAR
メールアドレス EVENT_SEAT
FLIGHT_ARRIVAL FLIGHT_DEPARTURE
HOTEL HOTEL_ROOM_TYPE
招待 MAP_PIN
メンバーシップ MULTIPLE_PEOPLE
PERSON 電話
RESTAURANT_ICON SHOPPING_CART
STAR STORE
チケット TRAIN
VIDEO_CAMERA VIDEO_PLAY

以下に、メールアイコンを含むカードの例を示します。

Google Material アイコンを使用する

Google マテリアル アイコンを使用すると、2,500 以上のアイコン オプションから選択し、アイコンの太さ、塗りつぶし、グレードをカスタマイズできます。

Google マテリアル アイコンを含むカードの例を次に示します。

カスタム アイコンを使用する

カスタム アイコンを追加するには、iconUrl フィールドを含め、アイコンに対応する URL を指定します。

カスタム アイコンの例を次に示します。