このページでは、Google Chat アプリで Chat ユーザーを識別または指定する方法について説明します。
次のいずれかを行うには、Chat アプリでユーザーを指定する必要があります。
- @ でユーザーをメンションするメッセージを作成します。
- 既存のスペースにユーザーを招待または追加するか、新しいスペースにユーザーを追加します。
- Chat アプリと特定のユーザー間、または 2 人のユーザー間のダイレクト メッセージを検索します。
- スペース内のユーザーのメンバーシップの詳細を取得する。
- ユーザーにプライベート メッセージを送信します。
- Google Workspace Events API を使用してユーザーに登録し、メンバーシップの変更に関するイベントを取得します。
Chat でユーザーを識別する仕組み
Google Chat API は、Chat を使用するユーザーごとに User リソースを生成します。重要な User フィールドは次の 2 つです。
nameは、users/{user}という形式のリソース名です。ここで、{user}は一意で安定した識別子を表します。users/appは、呼び出し元の Chat アプリのエイリアスとして使用できます。typeはユーザーのタイプです。このタイプは、ユーザーが Chat アプリかユーザーかを Chat に伝えます。チャットアプリの場合、値はBOTです。ユーザーの場合、値はHUMANです。
Google Chat API の呼び出しでユーザーを指定する
ユーザーを指定する場合は、{user} 値に次の値を使用します。
Google Workspace 組織のユーザーの場合は、次のいずれかの方法を使用します。
- Chat API の
Userリソースのname(users/123456789など)。 {person_id}は、People API のPersonリソースの名前です。ここで、resourceNameはpeople/{person_id}です。たとえば、Chat API のusers/123456789は、People API のpeople/123456789と同じユーザーを表します。- Directory API の
Userリソースのid。たとえば、Chat API のusers/123456789は、Directory API のusers/123456789と同じユーザーを表します。
- Chat API の
外部の Google Workspace 組織のユーザー、または Google アカウントを使用するユーザーの場合は、メール エイリアス(
users/EMAIL_USERNAME@WORKSPACE_DOMAIN.comやusers/EMAIL_USERNAME@gmail.comなど)を使用します。
インタラクション イベントからユーザーを特定する
ユーザーが Chat アプリを操作するたびに、Chat はインタラクションとユーザーに関する情報を含むインタラクション イベントを送信します。たとえば、ユーザーがメッセージで Chat アプリに言及すると、Chat アプリは、メッセージの内容や送信者など、インタラクションに関する情報を受け取ります。Chat アプリは、Chat リソースに関する情報を取得するときにユーザーを参照します。
Chat アプリを操作したユーザーを特定するには、User リソースの name プロパティの値を取得します。この値は Event.user.name から取得できます。
次の JSON の例は、Chat アプリとのやり取りで想定されるユーザー ID の形式を示しています。
{
...,
"user": {
"name": "users/12345678901234567890",
"displayName": "Sasha",
"avatarUrl": "https://lh3.googleusercontent.com/.../photo.jpg",
"email": "sasha@example.com"
}
}
メッセージは特定のタイプのインタラクションです。Chat アプリにメッセージを送信したユーザーを特定するには、次のいずれかを使用して、User リソースの name プロパティの値を取得します。