このページでは、テキスト メッセージとカード メッセージの違いについて説明します。
Chat アプリがテキスト メッセージを送信して基本情報を伝えると、Google Chat でユーザーがメッセージを作成する場合と同様に、メッセージがインラインで表示されます。テキスト以外の内容を含むメッセージを作成したり、ユーザーが操作できるメッセージを作成したりするには、Chat アプリでカードを使用します。チャットアプリでは、テキスト メッセージにカードを追加することもできます。フォームの記入などの複数のステップのプロセスを完了するようユーザーに促すために、Chat アプリでは、新しいウィンドウでダイアログとして開くカードを作成することもできます。
テキスト メッセージの構造
Google Chat API では、メッセージは JSON オブジェクトとして表されます。メッセージ内で、テキスト メッセージは text
オブジェクトとして表されます。
次の例では、Chat アプリが、コードフリーズが近づいていることをソフトウェア デベロッパーのチームに伝えるテキスト メッセージをスペースに作成します。
{
"text": "Attention <users/all>: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour."
}
JSON は次のメッセージを返します。
カード メッセージの構造
Google Chat API では、メッセージは JSON オブジェクトとして表されます。メッセージ内のカードは cardsV2
配列として表され、次のように構成されます。
- 1 つ以上の
CardWithId
オブジェクト。 cardId
: カードを識別するために使用され、特定のメッセージ内にスコープされます。(異なるメッセージ内のカードに同じ ID を設定できます)。card
オブジェクト。次の要素で構成されます。- タイトル、サブタイトル、アバター スタイルの画像などを指定する
header
オブジェクト。 - それぞれに 1 つ以上のウィジェットを含む 1 つ以上の
section
オブジェクト。 - 1 つ以上の
widget
オブジェクト。各ウィジェットは、テキスト、画像、ボタンなどのオブジェクト タイプを表すことができる複合オブジェクトです。
- タイトル、サブタイトル、アバター スタイルの画像などを指定する
たとえば、次のカード メッセージには、header
、section
、widget
の各オブジェクトが含まれています。
次のコードは、カード メッセージの JSON を表しています。
JSON
{
"cardsV2": [
{
"cardId": "unique-card-id",
"card": {
"header": {
"title": "Sasha",
"subtitle": "Software Engineer",
"imageUrl": "https://developers.google.com/chat/images/quickstart-app-avatar.png",
"imageType": "CIRCLE",
"imageAltText": "Avatar for Sasha"
},
"sections": [
{
"header": "Contact Info",
"collapsible": true,
"uncollapsibleWidgetsCount": 1,
"widgets": [
{
"decoratedText": {
"startIcon": {
"knownIcon": "EMAIL"
},
"text": "sasha@example.com"
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PERSON"
},
"text": "<font color=\"#80e27e\">Online</font>"
}
},
{
"decoratedText": {
"startIcon": {
"knownIcon": "PHONE"
},
"text": "+1 (555) 555-1234"
}
},
{
"buttonList": {
"buttons": [
{
"text": "Share",
"onClick": {
"openLink": {
"url": "https://example.com/share"
}
}
},
{
"text": "Edit",
"onClick": {
"action": {
"function": "goToView",
"parameters": [
{
"key": "viewType",
"value": "EDIT"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}
カード作成ツールを使用して、Chat アプリのメッセージ インターフェースとユーザー インターフェースを設計してプレビューできます。
カードビルダーを開く