ダイレクト メッセージ(DM)スペースを検索する

このガイドでは、Google Chat API の Space リソースの findDirectMessage() メソッドを使用して、ダイレクト メッセージ(DM)スペースの詳細を取得する方法について説明します。

Space リソースは、ユーザーや Chat アプリがメッセージを送信したり、ファイルを共有したり、コラボレーションしたりできる場所を表します。スペースには次の 2 種類があります。

  • ダイレクト メッセージ(DM)は、2 人のユーザー間、またはユーザーと Chat アプリ間の会話です。
  • グループ チャットは、3 人以上のユーザーと Chat アプリとの間の会話です。
  • 名前付きスペースは、ユーザーがメッセージの送信、ファイルの共有、コラボレーションを行うための永続的な場所です。

Google Workspace 管理者が Google Workspace 組織全体に Chat アプリをインストールすると、Google Chat は、インストールされた Chat アプリと組織内の各ユーザーの間に DM を作成します。

アプリ認証で認証すると、Chat アプリは Google Chat で Chat アプリがアクセスできる DM(メンバーである DM など)を取得できます。ユーザー認証で認証すると、認証されたユーザーがアクセスできる DM が返されます。

前提条件

Node.js

ダイレクト メッセージを探す

Google Chat でダイレクト メッセージを検索するには、リクエストで次のように渡します。

  • アプリ認証では、chat.bot 認可スコープを指定します。ユーザー認証では、chat.spaces.readonly または chat.spaces の認可スコープを指定します。
  • FindDirectMessage() メソッドを呼び出し、返す DM 内の他のユーザーの name を渡します。ユーザー認証を使用すると、このメソッドは呼び出し元のユーザーと指定されたユーザー間の DM を返します。アプリ認証では、このメソッドは呼び出し元のアプリと指定されたユーザー間の DM を返します。
  • 人間のユーザーを Space メンバーとして追加するには、users/{user} を指定します。ここで、{user} は、People API の person{person_id} か、Directory API の user の ID です。たとえば、People API のユーザー resourceNamepeople/123456789 の場合、member.name として users/123456789 を含むメンバーシップを追加することで、ユーザーをスペースに追加できます。

ユーザー認証付きのダイレクト メッセージを検索する

ユーザー認証を使用してダイレクト メッセージを検索する方法は次のとおりです。

Node.js

chat/client-libraries/cloud/find-dm-space-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.spaces.readonly'];

// This sample shows how to find a Direct Message space with user credential
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace USER_NAME here
    name: 'users/USER_NAME'
  };

  // Make the request
  const response = await chatClient.findDirectMessage(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

このサンプルを実行するには、USER_NAME をユーザーの name フィールドの ID に置き換えます。

Chat API は、指定された DM の詳細を示す Space のインスタンスを返します。

アプリ認証を使用したダイレクト メッセージを検索する

アプリ認証でダイレクト メッセージを検索する方法は次のとおりです。

Node.js

chat/client-libraries/cloud/find-dm-space-app-cred.js
import {createClientWithAppCredentials} from './authentication-utils.js';

// This sample shows how to find a Direct Message space with app credential
async function main() {
  // Create a client
  const chatClient = createClientWithAppCredentials();

  // Initialize request argument(s)
  const request = {
    // Replace USER_NAME here
    name: 'users/USER_NAME'
  };

  // Make the request
  const response = await chatClient.findDirectMessage(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

このサンプルを実行するには、USER_NAME をユーザーの name フィールドの ID に置き換えます。

Chat API は、指定された DM の詳細を示す Space のインスタンスを返します。