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

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

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

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 リソースnameusers/123456789 など)。
    • People API の Person リソースの名前の {person_id}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 プロパティの値を取得します。