このガイドでは、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 へのアクセス権を持つ Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する。
- Chat 用アプリの名前、アイコン、説明を使用して、Google Chat API を有効にして構成します。
- Node.js Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストで認証を行う方法に基づいて、アクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。 - Chat 用アプリとして認証するには、サービス アカウントの認証情報を作成し、認証情報を
credentials.json
という名前の JSON ファイルとして保存します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、認証情報を
- ユーザーとして認証するか、Chat 用アプリとして認証するかに基づいて、 認証スコープを選択します。
ダイレクト メッセージを探す
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 の人物resourceName
がpeople/123456789
の場合、member.name
としてusers/123456789
を含むメンバーシップを追加することで、ユーザーをスペースに追加できます。
ユーザー認証付きのダイレクト メッセージを検索する
ユーザー認証を含むダイレクト メッセージを見つける方法は次のとおりです。
Node.js
このサンプルを実行するには、USER_NAME
をユーザーの name
フィールドの ID に置き換えます。
Chat API は、指定された DM の詳細を示す Space
のインスタンスを返します。
アプリ認証を使用したダイレクト メッセージを見つける
アプリ認証でダイレクト メッセージを見つける方法は次のとおりです。
Node.js
このサンプルを実行するには、USER_NAME
をユーザーの name
フィールドの ID に置き換えます。
Chat API は、指定された DM の詳細を示す Space
のインスタンスを返します。