ダイレクト メッセージ(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 の人物 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 のインスタンスを返します。