Lesestatus eines Nutzers für den Gruppenbereich aktualisieren

In dieser Anleitung wird erläutert, wie Sie die update() Methode für die SpaceReadState Ressource der Google Chat API verwenden, um Gruppenbereiche als gelesen oder ungelesen zu markieren.

Die SpaceReadState Ressource ist eine Singleton-Ressource, die Details zur letzten gelesenen Nachricht eines bestimmten Nutzers in einem Google Chat-Gruppenbereich enthält.

Vorbereitung

Node.js

Lesestatus des Gruppenbereichs des aufrufenden Nutzers aktualisieren

Wenn Sie den Lesestatus eines Nutzers in einem Gruppenbereich aktualisieren möchten, fügen Sie Folgendes in Ihre Anfrage ein:

  • Geben Sie den Autorisierungsbereich chat.users.readstate an.
  • Rufen Sie die UpdateSpaceReadState() Methode auf.
  • Übergeben Sie updateMask mit dem Wert lastReadTime.
  • Übergeben Sie spaceReadState als Instanz von SpaceReadState mit Folgendem:
    • Das Feld name ist auf den Lesestatus des Gruppenbereichs festgelegt, der aktualisiert werden soll. Es enthält eine Nutzer-ID oder einen Alias und eine Gruppenbereichs-ID. Beim Aktualisieren des Lesestatus des Gruppenbereichs kann nur der Lesestatus des aufrufenden Nutzers aktualisiert werden. Dies kann durch Festlegen einer der folgenden Optionen angegeben werden:
      • Der Alias me. Beispiel: users/me/spaces/SPACE/spaceReadState.
      • Die Google Workspace-E-Mail-Adresse des aufrufenden Nutzers. Beispiel: users/user@example.com/spaces/SPACE/spaceReadState.
      • Die Nutzer-ID des aufrufenden Nutzers. Beispiel: users/USER/spaces/SPACE/spaceReadState.
    • Das Feld lastReadTime ist auf den aktualisierten Wert des Zeitpunkts festgelegt, zu dem der Lesestatus des Gruppenbereichs des Nutzers aktualisiert wurde. In der Regel entspricht dies entweder dem Zeitstempel der letzten gelesenen Nachricht oder einem Zeitstempel, der vom Nutzer festgelegt wurde, um die letzte gelesene Position in einem Gruppenbereich zu markieren. Wenn lastReadTime vor dem Zeitpunkt der Erstellung der letzten Nachricht liegt, wird der Gruppenbereich in der Benutzeroberfläche als ungelesen angezeigt. Wenn Sie den Gruppenbereich als gelesen markieren möchten, legen Sie für lastReadTime einen Wert fest, der nach dem Zeitpunkt der Erstellung der letzten Nachricht liegt. lastReadTime wird so angepasst, dass er mit dem Zeitpunkt der Erstellung der letzten Nachricht übereinstimmt. Der Lesestatus des Gruppenbereichs wirkt sich nur auf den Lesestatus von Nachrichten aus, die in der Konversation der obersten Ebene des Gruppenbereichs sichtbar sind. Antworten in Threads sind von diesem Zeitstempel nicht betroffen, sondern basieren auf dem Lesestatus des Threads.

Im folgenden Beispiel wird der Lesestatus des Gruppenbereichs des aufrufenden Nutzers aktualisiert:

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);
}

await main();

Ersetzen Sie in diesem Beispiel SPACE_NAME durch die ID aus dem Gruppenbereich name. Sie können die ID abrufen, indem Sie die ListSpaces() Methode aufrufen oder die URL des Gruppenbereichs verwenden.

Die Google Chat API aktualisiert den angegebenen Lesestatus des Gruppenbereichs und gibt eine Instanz von SpaceReadState zurück.