このページでは、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
プロパティの値を取得します。