このガイドでは、Google Chat API の
messages.create()
メソッドを使用して、次のいずれかを行います。
- テキスト、カード、インタラクティブなウィジェットを含むメッセージを送信します。
- 特定の Chat ユーザーに非公開でメッセージを送信します。
- メッセージ スレッドを開始するか、スレッドに返信します。
- メッセージに名前を付けて、他の Chat API で指定できるようにする できます。
<ph type="x-smartling-placeholder">
メッセージの最大サイズ(テキストやカードを含む)は 32,000 バイトです。 このサイズを超えるメッセージを送信するには、Chat 用アプリで 複数のメッセージを送信する必要があります。
Chat アプリでは、messages.create()
メソッドを呼び出すだけでなく、
ユーザーの操作に対するメッセージを作成、送信して、
ユーザーがスペースに Chat 用アプリを追加した後のウェルカム メッセージを
選択します。Chat アプリは、やり取りに応答する際に、他の参加者の
メッセージ機能のタイプ(インタラクティブなダイアログ、リンク プレビューなど)
インターフェースです。ユーザーに返信する場合、Chat アプリは新しい
Chat API を呼び出すことなく、メッセージを同期的に送信できます。学習内容
やり取りへのメッセージの送信については、
Google Chat アプリとのやり取りを受信して応答する
Chat API で作成されたメッセージの表示とアトリビューションの仕組み
messages.create()
メソッドは、次のコマンドを使用して呼び出すことができます。
アプリの認証
ユーザー認証があります。
Chat によってメッセージ送信者のアトリビューションが異なる
何を使用するかを選択できます
Chat アプリとして認証すると、 Chat アプリがメッセージを送信します。
<ph type="x-smartling-placeholder">ユーザーとして認証すると、Chat アプリは ユーザーの代わりに メッセージを送信できますChat ではさらに、 メッセージにメッセージの名前を表示して、会話を始めることができます。
<ph type="x-smartling-placeholder">また、認証タイプによって、どのメッセージ機能とインターフェースが メッセージに含めることができます。アプリ認証では Chat アプリは、リッチテキスト、 カードベースのインターフェース、 インタラクティブなウィジェットです Chat ユーザーはメッセージ内でのみテキストを送信できるため、 ユーザー認証を使用してメールを作成する場合、テキストのみを含めるようにします。 Google Chat 向けの 機能の詳細については、 Google Chat メッセージの概要
このガイドでは、いずれかの認証タイプを使用してメッセージを送信する方法について説明します。 やり取りできます
前提条件
Node.js
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- 環境を設定します。
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成する。名前、 アプリのアイコン、説明を入力します。
- Node.js Cloud クライアント ライブラリをご覧ください。
- Google Chat API での認証方法に基づいてアクセス認証情報を作成する
request:
<ph type="x-smartling-placeholder">
- </ph>
- Chat ユーザーとして認証するには、
OAuth クライアント ID を作成する
認証情報を JSON ファイルとして保存し、
client_secrets.json
をローカル ディレクトリに移動します。 - Chat 用アプリとして認証するには、
サービス アカウントの作成
認証情報を JSON ファイルとして保存し、
credentials.json
。
- Chat ユーザーとして認証するには、
OAuth クライアント ID を作成する
認証情報を JSON ファイルとして保存し、
- <ph type="x-smartling-placeholder"></ph> ユーザーとして認証するか、ユーザーとして認証するかに基づいて、承認スコープを選択します。 Chat アプリ。
- 認証されたユーザーまたはスペースでやり取りされる Google Chat スペース 1 人です。ID プロバイダとして認証するには、 Chat 用アプリで Chat アプリをスペースに追加できます。
Python
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- 環境を設定します。
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成する。名前、 アプリのアイコン、説明を入力します。
- Python Cloud クライアント ライブラリをご覧ください。
- Google Chat API での認証方法に基づいてアクセス認証情報を作成する
request:
<ph type="x-smartling-placeholder">
- </ph>
- Chat ユーザーとして認証するには、
OAuth クライアント ID を作成する
認証情報を JSON ファイルとして保存し、
client_secrets.json
をローカル ディレクトリに移動します。 - Chat 用アプリとして認証するには、
サービス アカウントの作成
認証情報を JSON ファイルとして保存し、
credentials.json
。
- Chat ユーザーとして認証するには、
OAuth クライアント ID を作成する
認証情報を JSON ファイルとして保存し、
- <ph type="x-smartling-placeholder"></ph> ユーザーとして認証するか、ユーザーとして認証するかに基づいて、承認スコープを選択します。 Chat アプリ。
- 認証されたユーザーまたはスペースでやり取りされる Google Chat スペース 1 人です。ID プロバイダとして認証するには、 Chat 用アプリで Chat アプリをスペースに追加できます。
Java
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- 環境を設定します。
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成する。名前、 アプリのアイコン、説明を入力します。
- Java Cloud クライアント ライブラリをご覧ください。
- Google Chat API での認証方法に基づいてアクセス認証情報を作成する
request:
<ph type="x-smartling-placeholder">
- </ph>
- Chat ユーザーとして認証するには、
OAuth クライアント ID を作成する
認証情報を JSON ファイルとして保存し、
client_secrets.json
をローカル ディレクトリに移動します。 - Chat 用アプリとして認証するには、
サービス アカウントの作成
認証情報を JSON ファイルとして保存し、
credentials.json
。
- Chat ユーザーとして認証するには、
OAuth クライアント ID を作成する
認証情報を JSON ファイルとして保存し、
- <ph type="x-smartling-placeholder"></ph> ユーザーとして認証するか、ユーザーとして認証するかに基づいて、承認スコープを選択します。 Chat アプリ。
- 認証されたユーザーまたはスペースでやり取りされる Google Chat スペース 1 人です。ID プロバイダとして認証するには、 Chat 用アプリで Chat アプリをスペースに追加できます。
Apps Script
- 企業または大企業 以下にアクセスできる Google Workspace アカウント Google Chat。
- 環境を設定します。
<ph type="x-smartling-placeholder">
- </ph>
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Google Chat API を有効にして構成する。名前、 アプリのアイコン、説明を入力します。
- スタンドアロンの Apps Script プロジェクトを作成する [高度なチャット サービス] をオンにします。
- このガイドでは、ユーザー アカウントまたは またはアプリ認証を使用します。Chat 用アプリとして認証するには、 認証情報を取得できます。手順については、以下をご覧ください。 Google Chat アプリ。
- <ph type="x-smartling-placeholder"></ph> ユーザーとして認証するか、ユーザーとして認証するかに基づいて、承認スコープを選択します。 Chat アプリ。
- 認証されたユーザーまたはスペースでやり取りされる Google Chat スペース 1 人です。ID プロバイダとして認証するには、 Chat 用アプリで Chat アプリをスペースに追加できます。
Chat アプリとしてメッセージを送信する
このセクションでは、テキスト、カード、メッセージが含まれる インタラクティブなアクセサリ ウィジェットを アプリの認証。
アプリの認証を使用して messages.create()
を呼び出すには、
次のフィールドが返されます。
chat.bot
認可スコープ。Space
リソース。このリソースには、 選択します。Chat 用アプリは、 メンバーの追加と削除ができます。Message
作成します。メッセージの内容を定義するには、 リッチテキスト (text
)、 1 つ以上のカード インターフェース (cardsV2
), または両方を選択できます
必要に応じて、次の情報を含めることができます。
- 含める
accessoryWidgets
フィールド メッセージの下部にあるインタラクティブなボタン。 privateMessageViewer
フィールド。 指定したユーザーに非公開でメッセージを送信します。messageId
フィールド。これにより、 他の API リクエストで使用するメッセージに名前を付けます。thread.threadKey
フィールドとmessageReplyOption
フィールド スレッドを開始または返信する。スペースが 使用している場合、このフィールドは無視されます。
次のコードは、Chat 用アプリが スペースを含む Chat アプリとして投稿されたメッセージを送信できます。 メッセージの下部にあるクリック可能なボタンも表示できます。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、SPACE_NAME
を
スペースの
name
フィールド。
ID を取得するには、このメソッドを呼び出して、
spaces.list()
メソッド
またはスペースの URL から取得できます。
メッセージの下部にインタラクティブなウィジェットを追加する
このガイドの最初のコードサンプルでは、 Chat 用アプリのメッセージでは、画面上部にクリック可能なボタンが表示され、 これはアクセサリ ウィジェットと呼ばれます。アクセサリ ウィジェット メッセージ内のテキストやカードの後に表示されます。これらのウィジェットを使用して ユーザーがさまざまな方法でメッセージを操作できます。
- メッセージの正確性または満足度を評価してください。
- メッセージまたは Chat アプリに関する問題を報告します。
- ドキュメントなどの関連コンテンツへのリンクを開きます。
- Chat アプリから類似のメッセージを閉じる、またはスヌーズする 特定の期間のみ有効です
アクセサリ ウィジェットを追加するには、
accessoryWidgets[]
フィールドをフィールドに追加して、リクエストするウィジェットを 1 つ以上
追加できます
次の図に、メッセージに ユーザーがエクスペリエンスを評価できるアクセサリ ウィジェットを含むテキスト メッセージ やり取りできます。
<ph type="x-smartling-placeholder">以下は、テキスト メッセージを作成するリクエストの本文を示しています。
2 つのアクセサリ ボタン。ユーザーがボタンをクリックすると、対応する
関数(doUpvote
など)がインタラクションを処理します。
{
text: "Rate your experience with this Chat app.",
accessoryWidgets: [{ buttonList: { buttons: [{
icon: { material_icon: {
name: "thumb_up"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doUpvote"
}}
}, {
icon: { material_icon: {
name: "thumb_down"
}},
color: { red: 0, blue: 255, green: 0 },
onClick: { action: {
function: "doDownvote"
}}
}]}}]
}
非公開でメッセージを送信する
Chat アプリは非公開でメッセージを送信できるため、 メッセージはスペース内の特定のユーザーのみに表示されます。特定の Chat アプリがプライベート メッセージを送信します。 は、メッセージが自分だけに表示されていることをユーザーに通知するラベルを表示します。
Chat API を使用してメッセージを非公開で送信するには、
privateMessageViewer
必ず指定してください。ユーザーを指定するには、値を
User
リソース。
Chat ユーザーを表します。また、
name
フィールド
User
リソース。次の例をご覧ください。
{
text: "Hello private world!",
privateMessageViewer: {
name: "users/USER_ID"
}
}
このサンプルを使用するには、USER_ID
を置き換えます。
(例: 12345678987654321
)または一意の ID に置き換えます。
hao@cymbalgroup.com
。ユーザーの指定について詳しくは、このモジュールの
Google Chat ユーザーを特定して指定する。
メッセージを非公開で送信するには、リクエストで次の項目を省略する必要があります。
ユーザーの代わりにテキスト メッセージを送信する
このセクションでは、 ユーザー認証。 ユーザー認証を使用すると、メッセージのコンテンツにテキストしか メッセージ機能は、Google Chat でのみ利用できる カード インターフェースやインタラクティブなウィジェットなどのチャットアプリ。
ユーザー認証を使用して messages.create()
を呼び出すには、
次のフィールドが返されます。
- 認可スコープ
サポートしています。次のサンプルでは、
chat.messages.create
スコープ。 Space
リソース。このリソースには、 選択します。認証されたユーザーは、 選択します。Message
作成します。メッセージの内容を定義するには、text
表示されます。
必要に応じて、次の情報を含めることができます。
messageId
フィールド。これにより、 他の API リクエストで使用するメッセージに名前を付けます。thread.threadKey
フィールドとmessageReplyOption
フィールド スレッドを開始または返信する。スペースが 使用している場合、このフィールドは無視されます。
次のコードは、Chat 用アプリが は、認証されたユーザーの代わりに、特定のスペースでテキスト メッセージを送信できます。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、SPACE_NAME
を
スペースの
name
表示されます。ID を取得するには、
spaces.list()
メソッド
またはスペースの URL から取得できます。
スレッドを開始または返信する
スレッドを使用するスペースの場合: 新しいメッセージがスレッドを開始するか、新しいメッセージが 削除することもできます。
デフォルトでは、Chat API を使用して作成したメッセージからは、 使用します。スレッドを特定して後で返信できるように、 あります。
- リクエストの本文で、
thread.threadKey
表示されます。 - クエリ パラメータを指定する
messageReplyOption
を使用して、鍵がすでに存在する場合にどうなるかを判断します。
既存のスレッドに返信するメッセージを作成するには:
- リクエストの本文に
thread
フィールドを含めます。設定すると、 「threadKey
作成します。それ以外の場合は、name
表示されます。 - クエリ パラメータ
messageReplyOption
を指定します。
次のコードは、Chat 用アプリが で識別された特定のスレッドに対して開始または返信するテキスト メッセージを送信できます 認証されたユーザーに代わって、特定のスペースのキーを渡します。
Node.js
Python
Java
Apps Script
このサンプルを実行するには、次のように置き換えます。
THREAD_KEY
: スペース内の既存のスレッドキー、または 新しいスレッド(スレッドの一意の名前)を作成します。SPACE_NAME
: スペースの IDname
表示されます。ID を取得するには、spaces.list()
メソッド またはスペースの URL から取得できます。
メッセージに名前を付ける
今後の API 呼び出しでメッセージを取得または指定するには、メッセージに
messages.create()
リクエストに messageId
フィールドを設定します。
メッセージに名前を付けることで、
メッセージのリソース名からシステムによって割り当てられた ID(
name
フィールド)。
たとえば、get()
メソッドを使用してメッセージを取得するには、
して、取得するメッセージを指定します。リソース名は、
spaces/{space}/messages/{message}
の形式。{message}
は以下を表します。
システムによって割り当てられた ID、または
表示されます。
メッセージに名前を付けるには、カスタム ID を
messageId
指定する必要があります。messageId
フィールドは、次の値を設定します。
clientAssignedMessageId
Message
リソースのフィールド。
メッセージに名前を付けることができるのは、メッセージの作成時のみです。名前やメールアドレスを 既存のメッセージのカスタム ID を変更できます。カスタム ID は次の条件を満たす必要があります。 要件:
client-
で始まります。たとえば、client-custom-name
は有効なカスタム ID になりますが、custom-name
は一致しません。- 63 文字以下で、英小文字、数字、 使用できます。
- スペース内で一意である。Chat アプリでは、 同じカスタム ID を使用する必要があります。
次のコードは、Chat 用アプリが スペースに代理で ID を含むテキスト メッセージを送信できます。 認証されたユーザー:
Node.js
Python
Java
Apps Script
このサンプルを実行するには、次のように置き換えます。
SPACE_NAME
: スペースの IDname
表示されます。ID を取得するには、spaces.list()
メソッド またはスペースの URL から取得できます。MESSAGE-ID
: 先頭のメッセージの名前custom-
に置き換えます。他のメッセージと重複しないようにする必要があります。 Chat アプリを開いたら、
トラブルシューティング
Google Chat アプリまたは card がエラーを返した場合、 Chat のインターフェースに「エラーが発生しました」というメッセージが表示されている。 または「リクエストを処理できません」が表示されます。場合によっては、Chat の UI が エラー メッセージは表示されませんが、Chat 用アプリまたは 予期しない結果が生じた場合たとえば、カード メッセージに 表示されます。
Chat UI にエラー メッセージが表示されない場合がありますが、 エラーの修正に役立つ、わかりやすいエラー メッセージとログデータ Chat 用アプリのエラーロギングが有効になっている場合。表示のヘルプについては、 エラーの修正について詳しくは、このモジュールの Google Chat のエラーのトラブルシューティングと修正
関連トピック
- カードビルダーを使用: Chat 用アプリ用の JSON カード メッセージの設計とプレビュー。
- メッセージの書式を設定する。
- メッセージの詳細を取得する
- スペース内のメッセージを一覧表示する
- メッセージを更新する。
- メールを削除する。
- Google Chat のメッセージでユーザーを特定する
- 着信 Webhook を使用して Google Chat にメッセージを送信する