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

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

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

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

アプリ認証で認証すると、Chat アプリは Google Chat で 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 のユーザー 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 のインスタンスを返します。