このガイドでは、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 の personresourceNameが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
のインスタンスを返します。