このガイドでは、Google Chat API の SpaceReadState リソースで
update()
メソッドを使用して、スペースを
既読または未読としてマークする方法について説明します。
SpaceReadState リソース
は、指定したユーザーが Google Chat スペースで最後に読んだメッセージの詳細を表すシングルトン リソースです。
前提条件
Node.js
- Google Chat にアクセスできる Business または Enterprise の Google Workspace アカウント。
- 環境を設定します。
- Google Cloud プロジェクトを作成します。
- OAuth 同意画面を構成します。
- Chat アプリの名前、 アイコン、説明を使用して Google Chat API を有効にして構成します。
- Node.js 用 Cloud クライアント ライブラリをインストールします。
-
デスクトップ アプリケーションの OAuth クライアント ID 認証情報を作成します。このガイドのサンプルを実行するには、認証情報を
credentials.jsonという名前の JSON ファイルとしてローカル ディレクトリに保存します。
- ユーザー認証をサポートする認証スコープを選択します。
呼び出し元のユーザーのスペースの既読状態を更新する
スペース内のユーザーの既読状態を更新するには、リクエストに次のものを含めます。
chat.users.readstate認証スコープを指定します。-
UpdateSpaceReadState()メソッドを呼び出します。 updateMaskに値lastReadTimeを渡します。spaceReadStateを、次のものを含むSpaceReadStateのインスタンスとして渡します:- 更新するスペースの既読状態に設定された
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
このサンプルを実行するには、SPACE_NAME を
スペースの
nameの ID に置き換えます。
ID は、
ListSpaces()
メソッドを呼び出すか、スペースの URL から取得できます。
Google Chat API は、指定されたスペースの既読状態を更新し、
`SpaceReadState`
のインスタンスSpaceReadStateを返します。