Google Chat ユーザーを特定して指定する

このページでは、Google Chat アプリで Chat ユーザーを識別または指定する方法について説明します。

次のいずれかを行うには、Chat アプリでユーザーを指定する必要があります。

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 リソースnameusers/123456789 など)。
    • {person_id} は、People API の Person リソースの名前です。ここで、resourceNamepeople/{person_id} です。たとえば、Chat API の users/123456789 は、People API の people/123456789 と同じユーザーを表します。
    • Directory API の User リソースの id。たとえば、Chat API の users/123456789 は、Directory API の users/123456789 と同じユーザーを表します。
  • 外部の Google Workspace 組織のユーザー、または Google アカウントを使用するユーザーの場合は、メール エイリアス(users/EMAIL_USERNAME@WORKSPACE_DOMAIN.comusers/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 プロパティの値を取得します。