Aktualizowanie stanu odczytu pokoju użytkownika

Z tego przewodnika dowiesz się, jak za pomocą metody update() w zasobie SpaceReadState interfejsu Google Chat API oznaczać pokoje jako przeczytane lub nieprzeczytane.

Zasób SpaceReadState to pojedynczy zasób, który reprezentuje szczegóły ostatniej przeczytanej wiadomości w pokoju Google Chat przez określonego użytkownika.

Wymagania wstępne

Node.js

Zaktualizuj stan odczytu pokoju użytkownika dzwoniącego

Aby zaktualizować stan odczytu użytkownika w pokoju, dodaj do żądania:

  • Określ zakres upoważnienia chat.users.readstate.
  • Wywołaj metodę UpdateSpaceReadState().
  • Przekaż updateMask z wartością lastReadTime.
  • Przekaż spaceReadState jako instancję klasy SpaceReadState z tymi parametrami:
    • Pole name ustawione na stan odczytu pokoju, który ma zostać zaktualizowany, w tym identyfikator użytkownika lub alias oraz identyfikator pokoju. Aktualizowanie stanu odczytu pokoju obsługuje tylko aktualizowanie stanu odczytu użytkownika dzwoniącego, który można określić, ustawiając jedną z tych opcji:
      • Alias me. Na przykład: users/me/spaces/SPACE/spaceReadState.
      • Adres e-mail użytkownika nawiązującego połączenie z Workspace. Na przykład: users/user@example.com/spaces/SPACE/spaceReadState.
      • Identyfikator użytkownika wywołującego. Na przykład: users/USER/spaces/SPACE/spaceReadState.
    • Pole lastReadTime ustawione na zaktualizowaną wartość czasu zaktualizowania stanu odczytu obszaru użytkownika. Zwykle odpowiada to sygnaturze czasowej ostatniej przeczytanej wiadomości lub sygnaturze czasowej określonej przez użytkownika w celu oznaczenia ostatniej pozycji odczytu w pokoju. Jeśli wartość lastReadTime jest mniejsza niż czas utworzenia ostatniej wiadomości, pokój jest widoczny jako nieprzeczytany w interfejsie. Aby oznaczyć pokój jako przeczytany, ustaw wartość lastReadTime na dowolną wartość późniejszą (większą) niż czas utworzenia ostatniej wiadomości. Wartość lastReadTime jest dopasowywana do najnowszego czasu utworzenia wiadomości. Pamiętaj, że stan odczytania pokoju dotyczy tylko wiadomości widocznych w rozmowie na najwyższym poziomie. Ten sygnatura czasowa nie ma wpływu na odpowiedzi w wątkach, które są zależne od stanu odczytu wątku.

W tym przykładzie aktualizujemy stan odczytu pokoju przez dzwoniącego użytkownika:

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

Aby uruchomić ten przykład, zastąp SPACE_NAME identyfikatorem name konta. Identyfikator możesz uzyskać, wywołując metodę ListSpaces() lub z adresu URL pokoju.

Interfejs Google Chat API aktualizuje określony stan odczytu pokoju i zwraca instancję SpaceReadState.