ユーザーのスレッドの読み取り状態の詳細を取得する

このガイドでは、Google Chat API の ThreadReadState リソースの get() メソッドを使用して、メッセージ スレッド内のユーザーの既読状態に関する詳細情報を取得する方法について説明します。スペース内のメッセージの読み取り状態を取得するには、ユーザーのスペースの読み取り状態の詳細を取得するをご覧ください。

ThreadReadState リソースは、Google Chat のメッセージ スレッドで特定のユーザーの最後の既読メッセージに関する詳細を表すシングルトン リソースです。

前提条件

Node.js

呼び出し元のユーザーのスレッドの読み取り状態を取得する

メッセージ スレッド内のユーザーの未読ステータスの詳細を取得するには、リクエストに次の情報を含めます。

  • 認可スコープ 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

chat/client-libraries/cloud/get-thread-read-state-user-cred.js
import {createClientWithUserCredentials} from './authentication-utils.js';

const USER_AUTH_OAUTH_SCOPES = ['https://www.googleapis.com/auth/chat.users.readstate.readonly'];

// This sample shows how to get the thread read state for a space and calling user
async function main() {
  // Create a client
  const chatClient = await createClientWithUserCredentials(USER_AUTH_OAUTH_SCOPES);

  // Initialize request argument(s)
  const request = {
    // Replace SPACE_NAME and THREAD_NAME here
    name: 'users/me/spaces/SPACE_NAME/threads/THREAD_NAME/threadReadState'
  };

  // Make the request
  const response = await chatClient.getThreadReadState(request);

  // Handle the response
  console.log(response);
}

main().catch(console.error);

このサンプルを実行するには、次のように置き換えます。

  • SPACE_NAME: スペースの name の ID。ID を取得するには、ListSpaces() メソッドを呼び出すか、スペースの URL を使用します。
  • THREAD_NAME: スレッドの name の ID。ID は、Chat API を使用してメッセージを非同期で作成した後に返されるレスポンス本文から取得できます。また、作成時にメッセージに割り当てられたカスタム名から取得することもできます。

Google Chat API は、指定されたスレッドの読み取り状態を取得し、ThreadReadState のインスタンスを返します。