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

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

Space リソース は、ユーザーと Chat アプリがメッセージの送信、 ファイルの共有、共同作業を行える場所を表します。スペースにはいくつかの種類があります。

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

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

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

前提条件

Node.js

ダイレクト メッセージを検索する

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

  • アプリ認証の場合は、 chat.bot認可スコープを指定します。ユーザー認証の場合は、 chat.spaces.readonly または chat.spaces 認可スコープを指定します。
  • FindDirectMessage(), メソッドを呼び出し、返される DM の相手のユーザーの name を渡します。ユーザー認証の場合、このメソッドは呼び出し元のユーザーと指定されたユーザー間の DM を返します。 アプリ認証の場合、この メソッドは呼び出し元のアプリと指定されたユーザー間の DM を返します。
  • スペース メンバーとして人間ユーザーを追加するには、users/{user} を指定します。ここで {user} は People API の person{person_id} または Directory API の user の ID です。たとえば、People API の person 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);
}

await main();

このサンプルを実行するには、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);
}

await main();

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

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