このガイドでは、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 にアクセスできる Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Node.js の Cloud クライアント ライブラリをインストールします。
- Google Chat API リクエストでの認証方法に基づいてアクセス認証情報を作成します。
- Chat ユーザーとして認証するには、OAuth クライアント ID 認証情報を作成し、その認証情報を
client_secrets.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
のインスタンスを返します。