ユーザーのスペースの読み取り状態を更新する

このガイドでは、 update() メソッド(Google Chat API の SpaceReadState リソース)で、スペースに 確認できます。

SpaceReadState リソースは、指定したユーザーが Google Chat スペースで最後に読んだメッセージの詳細を表すシングルトン リソースです。

前提条件

Node.js

呼び出し元ユーザーのスペース読み取り状態を更新する

スペース内のユーザーの読み取り状態を更新するには、リクエストに以下を含めます。

  • chat.users.readstate 認可スコープを指定します。
  • UpdateSpaceReadState() メソッドを呼び出します。
  • lastReadTimeupdateMask を渡します。
  • 次のように、spaceReadStateSpaceReadState のインスタンスとして渡します。
    • 更新するスペースの読み取り状態に設定された name フィールド。ユーザー ID またはエイリアスとスペース ID が含まれます。スペースの読み取り状態の更新は、呼び出し元のユーザーの読み取り状態の更新のみをサポートします。これは、次のいずれかを設定することで指定できます。
      • me エイリアス。例: users/me/spaces/SPACE/spaceReadState
      • 呼び出し元のユーザーの Workspace メールアドレス。例: users/user@example.com/spaces/SPACE/spaceReadState
      • 呼び出し元ユーザーのユーザー ID。例: users/USER/spaces/SPACE/spaceReadState
    • 更新された時刻の値に設定された lastReadTime フィールドは、 ユーザーのスペース読み取り状態が更新されました。通常、これは次のいずれかに対応します。 最後に読まれたメッセージのタイムスタンプ、またはユーザーが指定したタイムスタンプ スペースの最後の読み取り位置をマークできます。lastReadTime が最新のメッセージの作成時間より前の場合、スペースは UI で未読として表示されます。マーク対象 スペースを読み取り、lastReadTime を 最新のメッセージ作成時刻。lastReadTime は、最新のメッセージ作成時間と一致するように強制変換されます。スペースの読み取り状態は読み取りにのみ影響し、 そのスペースの最上位の会話に表示されるメッセージの状態。 スレッド内の返信はこのタイムスタンプの影響を受けず、代わりに 読み取り状態を維持します。

次の例は、呼び出し元のユーザーのスペースの読み取り状態を更新します。

Node.js

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

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

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

  // Initialize request argument(s)
  const timestamp = new Date('2000-01-01').getTime();
  const request = {
    spaceReadState: {
      // Replace SPACE_NAME here
      name: 'users/me/spaces/SPACE_NAME/spaceReadState',
      lastReadTime: {
        seconds: Math.floor(timestamp / 1000),
        nanos: (timestamp % 1000) * 1000000
      }
    },
    updateMask: {
      // The field paths to update.
      paths: ['last_read_time']
    }
  };

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

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

main().catch(console.error);

このサンプルを実行するには、SPACE_NAME をスペースの name の ID に置き換えます。ID を取得するには、このメソッドを呼び出して、 ListSpaces() スペースの URL から取得できます。

Google Chat API は、指定されたスペースの読み取り状態を更新して、 Pod の SpaceReadState