このページでは、Google Chat アプリで Chat ユーザーを識別または指定する方法について説明します。
次のいずれかを行うには、Chat アプリでユーザーを指定する必要があります。
- ユーザーを名前リンク付きでメンションするメッセージを作成します。
- 既存のスペースにユーザーを招待または追加したり、新しいスペースにユーザーを追加したりできます。
- Chat アプリと指定したユーザー、または 2 人のユーザーの間のダイレクト メッセージを検索します。
- スペース内のユーザーのメンバーシップの詳細を取得する
- ユーザーにプライベート メッセージを送信します。
Chat でユーザーを識別する方法
Google Chat API は、Chat を使用するユーザーごとに User
リソースを生成します。次の 2 つの重要な User
フィールドがあります。
name
はリソースのリソース名で、users/{user}
の形式になります。ここで、{user}
は一意で不変の識別子です。users/app
は、呼び出し元の Chat アプリのエイリアスとして使用できます。type
はユーザーのタイプです。このタイプは、ユーザーが Chat アプリと個人のどちらであるかを Chat に指示します。Chat アプリの場合、値はBOT
です。人の場合、値はHUMAN
です。
Google Chat API の呼び出しでユーザーを指定する
ユーザーを指定するには、{user}
の値として次の値を使用します。
Google Workspace 組織内のユーザーには、次のいずれかの方法を使用します。
- Chat API の
User
リソースのname
(users/123456789
など)。 - People API の
Person
リソースの名前の{person_id}
。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
プロパティの値を取得します。