In diesem Leitfaden wird beschrieben, wie Sie mit der Methode update()
auf der Ressource SpaceReadState
der Google Chat API Gruppenbereiche als gelesen oder ungelesen markieren.
Die Ressource SpaceReadState
ist eine Singleton-Ressource, die Details zur zuletzt gelesenen Nachricht eines bestimmten Nutzers in einem Google Chat-Gruppenbereich enthält.
Vorbereitung
Node.js
- Ein Business- oder Enterprise Google Workspace-Konto mit Zugriff auf Google Chat.
- Richten Sie Ihre Umgebung ein:
- Google Cloud-Projekt erstellen
- Konfigurieren Sie den OAuth-Zustimmungsbildschirm.
- Aktivieren und konfigurieren Sie die Google Chat API mit einem Namen, einem Symbol und einer Beschreibung für Ihre Chat-App.
- Installieren Sie die Google Cloud-Clientbibliothek für Node.js.
-
OAuth-Client-ID-Anmeldedaten für eine Desktopanwendung erstellen Wenn Sie das Beispiel in dieser Anleitung ausführen möchten, speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
client_secrets.json
in Ihrem lokalen Verzeichnis.
- Wählen Sie einen Autorisierungsbereich aus, der die Nutzerauthentifizierung unterstützt.
Lesestatus des Anrufers für den Gruppenbereich 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 für
chat.users.readstate
an. - Rufen Sie die Methode
UpdateSpaceReadState()
auf. - Übergeben Sie
updateMask
mit dem WertlastReadTime
. - Übergeben Sie
spaceReadState
als Instanz vonSpaceReadState
mit folgendem Code:- Das Feld
name
ist auf den zu aktualisierenden Lesestatus des Gruppenbereichs gesetzt. Es enthält eine Nutzer-ID oder einen Alias und eine Gruppenbereichs-ID. Beim Aktualisieren des Lesestatus eines Gruppenbereichs kann nur der Lesestatus des anrufenden Nutzers aktualisiert werden. Dazu kann eine der folgenden Optionen festgelegt werden:- Der Alias für
me
. Beispiel:users/me/spaces/SPACE/spaceReadState
- Die Workspace-E-Mail-Adresse des aufrufenden Nutzers. Beispiel:
users/user@example.com/spaces/SPACE/spaceReadState
- Die Nutzer-ID des anrufenden Nutzers. Beispiel:
users/USER/spaces/SPACE/spaceReadState
- Der Alias für
- Das Feld
lastReadTime
ist auf den aktualisierten Wert der Zeit festgelegt, zu der der Lesestatus des Nutzers für den Gruppenbereich aktualisiert wurde. In der Regel entspricht dies entweder dem Zeitstempel der zuletzt gelesenen Nachricht oder einem vom Nutzer angegebenen Zeitstempel, um die zuletzt gelesene Position in einem Bereich zu markieren. WennlastReadTime
vor dem Zeitpunkt der letzten Nachrichtenerstellung liegt, wird der Bereich in der UI als ungelesen angezeigt. Wenn Sie den Gruppenbereich als gelesen markieren möchten, setzen SielastReadTime
auf einen Wert, der später (größer) als die Erstellungszeit der letzten Nachricht ist. Der Wert vonlastReadTime
wird auf die Zeit der letzten Nachrichtenerstellung festgelegt. Der Lesestatus des Gruppenbereichs wirkt sich nur auf den Lesestatus von Nachrichten aus, die in der Unterhaltung der obersten Ebene des Gruppenbereichs sichtbar sind. Antworten in Threads sind von diesem Zeitstempel nicht betroffen und basieren stattdessen auf dem Lesestatus des Threads.
- Das Feld
Im folgenden Beispiel wird der Lesestatus des aufrufenden Nutzers aktualisiert:
Node.js
Wenn Sie dieses Beispiel ausführen möchten, ersetzen Sie SPACE_NAME
durch die ID aus der name
des Gruppenbereichs.
Sie können die ID durch Aufrufen der Methode ListSpaces()
oder aus der URL des Gruppenbereichs abrufen.
Die Google Chat API aktualisiert den Lesestatus des angegebenen Gruppenbereichs und gibt eine Instanz von SpaceReadState
zurück.
Weitere Informationen
- Lesestatus des Anrufers für den Gruppenbereich abrufen
- Rufen Sie den Thread-Lesestatus des aufrufenden Nutzers ab.