Aktualizowanie stanu odczytu pokoju użytkownika

Z tego przewodnika dowiesz się, jak korzystać z update() w zasobie SpaceReadState interfejsu Google Chat API, aby oznaczyć pokoje jako przeczytane lub nieprzeczytane.

SpaceReadState zasób to pojedynczy zasób, który przedstawia szczegółowe informacje ostatniej przeczytanej wiadomości określonego użytkownika w pokoju Google Chat.

Wymagania wstępne

Node.js

Zaktualizuj stan odczytu pokoju użytkownika dzwoniącego

Aby zaktualizować stan odczytania w pokoju, dodaj do żądania:

  • Określ zakres autoryzacji chat.users.readstate.
  • Wywołaj funkcję UpdateSpaceReadState() .
  • Przekaż updateMask z wartością lastReadTime.
  • Przekaż spaceReadState jako instancję SpaceReadState z następującymi wartościami:
    • W polu name ustawiono stan odczytu pokoju do aktualizacji, który zawiera identyfikator użytkownika lub alias użytkownika oraz identyfikator pokoju. Aktualizacja stanu odczytania pokoju obsługuje tylko aktualizowanie stanu odczytania przez wywołującego użytkownika, który można określić, ustawiając jeden z tych parametrów:
      • Alias me. Na przykład: users/me/spaces/SPACE/spaceReadState.
      • Adres e-mail użytkownika dzwoniącego w Workspace. Przykład: users/user@example.com/spaces/SPACE/spaceReadState
      • Identyfikator użytkownika dzwoniącego. Na przykład: users/USER/spaces/SPACE/spaceReadState.
    • Pole lastReadTime ma wartość zaktualizowaną o czas, w którym zaktualizowano stan odczytu pokoju użytkownika. Zwykle odpowiada to sygnatura czasowa ostatniej przeczytanej wiadomości lub sygnatura czasowa określona przez użytkownika; , aby zaznaczyć ostatnią pozycję czytania w pokoju. Gdy lastReadTime jest wcześniej po czasie utworzenia ostatniej wiadomości, pokój będzie wyświetlany w interfejsie jako nieprzeczytany. Aby oznaczyć pokój jako przeczytany, ustaw wartość lastReadTime na dowolną wartość późniejszą (większą) niż czas utworzenia ostatniej wiadomości. Wartość lastReadTime została zmieniona na najnowszą czas utworzenia wiadomości. Pamiętaj, że stan odczytania pokoju dotyczy tylko wiadomości widocznych w rozmowie na najwyższym poziomie pokoju. Sygnatura czasowa nie ma wpływu na odpowiedzi w wątkach, a zamiast tego polega na tym, stanie odczytu wątku.

Ten przykład aktualizuje stan odczytu przestrzeni użytkownika wywołującego:

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 korzystając z adresu URL pokoju.

Interfejs Google Chat API aktualizuje określony stan odczytu pokoju i zwraca go wystąpienie SpaceReadState