このページでは、Google Chat アプリが Google Chat のイベントを受信して応答する方法について説明します。
Google Chat イベントは、スペースへの新しいメッセージなど、Chat でのアクティビティや変更を表します。Chat アプリでは、イベントを使用して何が起こったのかを理解し、ユーザーのために行動を起こしたり、有意義な方法で応答したりできます。
イベントの使用例は次のとおりです。
- スペース内の新しいメッセージをモニタリングし、返信する(キーワードやフレーズの確認など)。
- ユーザーがスペースに参加したときに、ウェルカム メッセージを送信して、スペースのガイドラインを説明し、Chat アプリの効果的な使い方のヒントを共有します。
- Chat のアクティビティを追跡および分析する。たとえば、新しいメンバーに関する月次レポートや、リアクションや返信が最も多いメッセージなどを送信できます。
- メッセージング プラットフォーム間でコミュニケーションをとる。たとえば、ユーザーは Chat を離れることなく、別のメッセージング プラットフォームからユーザーとメッセージを送受信できます。
イベントの仕組み
Google Chat で何かが発生すると、Google Chat API リソースが作成、更新、削除されます。イベントにより、アクティビティの発生日時と影響を受けた Chat API リソースに関する情報が提供されます。
Chat では、イベントがタイプ別に分類されます。イベントタイプを使用すると、必要な情報タイプのみをフィルタリングしてリクエストでき、同様のイベントを同じ方法で処理できます。
次の表に、Chat のアクティビティが関連する Chat API リソースに与える影響と、Chat アプリが受信するイベントの種類を示します。
アクティビティ | Chat API リソース | イベントタイプ |
---|---|---|
ユーザーが Chat のスペースにメッセージを投稿しました |
Message リソースが作成されます。 |
新着メッセージ |
ユーザーがスペースの管理者になります。 | Membership リソースが更新されました。 |
メンバーシップを更新しました |
ユーザーがメッセージにリアクションします。 | Reaction リソースが作成されます。 |
新しいリアクション |
ユーザーがスペースから退出した場合。 | Membership リソースが削除された。 |
メンバーシップを削除しました |
Google Chat からイベントを受信する
イベントを受信するには、Chat アプリで次のいずれかを行います。
- Google Workspace Events API を使用してイベントに登録し、発生したイベントを受信します。
- Chat API を呼び出してイベントをクエリします。
Google Workspace Events API と Chat API は、同じイベントタイプをサポートし、配信します。イベントのサブスクライブとクエリのどちらを行うべきかを理解するには、次の表をご覧ください。
イベントに登録する | イベントのクエリ | |
---|---|---|
ユースケース |
|
|
API | Google Workspace Events API | Chat API |
イベントの発生元 | スペースとユーザー | スペースのみ |
イベントの形式 | CloudEvent の仕様に従ってフォーマットされた Google Cloud Pub/Sub メッセージ。詳細については、Google Workspace イベントの構造をご覧ください。 |
Chat API リソース(
spaces.spaceEvent ) |
イベントデータ | リソースデータの有無にかかわらず、Base64 でエンコードされた文字列。ペイロードの例については、イベントデータをご覧ください。 | リソースデータを含む JSON ペイロード。一部のイベントタイプには、特定のリソース フィールドのみが含まれます。ペイロードの例については、SpaceEvents リファレンス ドキュメントをご覧ください。 |
Google Workspace Events API を使用してサブスクリプションを作成する方法については、Google Workspace Events API ドキュメントをご覧ください。Chat API を使用してイベントをクエリするには、次のガイドをご覧ください。
制限事項
-
ユーザーの登録の場合、ダイレクト メッセージまたは名前のないグループ チャットの新しいメンバーに関するイベント(
google.workspace.chat.membership.v1.created
)は、最初のメッセージが投稿された後にのみトリガーされます。 - スペースの履歴を変更しても、スペース イベントの更新はトリガーされません(イベントタイプ:
google.workspace.chat.spaces.v1.updated
)。 - メンバーシップ イベントを受信するには、ユーザーがスペースの直接的なメンバーである必要があります。Google グループを介して間接的にスペースに追加、更新、削除された場合、サブスクリプションはこれらのメンバーシップ イベントを受信しません。Google グループのメンバーの仕組みについては、Google グループをスペースに追加するをご覧ください。