このガイドでは、Google Chat API の ThreadReadState
リソースの get()
メソッドを使用して、メッセージ スレッド内のユーザーの既読状態に関する詳細情報を取得する方法について説明します。スペース内のメッセージの読み取り状態を取得するには、ユーザーのスペースの読み取り状態の詳細を取得するをご覧ください。
ThreadReadState
リソースは、Google Chat のメッセージ スレッドで特定のユーザーの最後の既読メッセージに関する詳細を表すシングルトン リソースです。
前提条件
Node.js
- Google Chat へのアクセス権を持つビジネスまたはエンタープライズ Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成する
- Google Chat API を有効にして構成し、Chat アプリの名前、アイコン、説明を指定します。
- Node.js の Cloud クライアント ライブラリをインストールします。
- デスクトップ アプリケーションの
OAuth クライアント ID 認証情報を作成します。このガイドのサンプルを実行するには、認証情報を
client_secrets.json
という名前の JSON ファイルとしてローカル ディレクトリに保存します。
- ユーザー認証をサポートする 承認スコープを選択します。
呼び出し元のユーザーのスレッドの読み取り状態を取得する
メッセージ スレッド内のユーザーの未読ステータスの詳細を取得するには、リクエストに次の情報を含めます。
- 認可スコープ
chat.users.readstate
またはchat.users.readstate.readonly
を指定します。 GetThreadReadState()
メソッドを呼び出し、スレッドの読み取り状態のname
を渡して、ユーザー ID またはエイリアスとスペース ID を取得します。スレッドの読み取り状態の取得は、呼び出し元のユーザーの読み取り状態の取得のみをサポートしています。これは、次のいずれかを設定することで指定できます。me
エイリアス。例:users/me/spaces/SPACE/threads/THREAD/threadReadState
- 呼び出し元のユーザーの Workspace メールアドレス。例:
users/user@example.com/spaces/SPACE/threads/THREAD/threadReadState
- 呼び出し元のユーザーのユーザー ID。例:
users/USER/spaces/SPACE/threads/THREAD/threadReadState
次の例では、呼び出し元のユーザーのスレッドの読み取り状態を取得しています。
Node.js
このサンプルを実行するには、次のように置き換えます。
SPACE_NAME
: スペースのname
の ID。ID を取得するには、ListSpaces()
メソッドを呼び出すか、スペースの URL を使用します。THREAD_NAME
: スレッドのname
の ID。ID は、Chat API を使用してメッセージを非同期で作成した後に返されるレスポンス本文から取得できます。また、作成時にメッセージに割り当てられたカスタム名から取得することもできます。
Google Chat API は、指定されたスレッドの読み取り状態を取得し、ThreadReadState
のインスタンスを返します。