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.

SpaceReadStateZasób jest zasobem pojedynczym, który zawiera szczegóły dotyczące ostatniej przeczytanej wiadomości określonego użytkownika w pokoju Google Chat.

Wymagania wstępne

Node.js

Aktualizowanie stanu odczytu pokoju użytkownika wywołującego

Aby zaktualizować stan odczytu użytkownika w pokoju, w żądaniu uwzględnij te elementy:

  • Określ zakres autoryzacji chat.users.readstate.
  • Wywołaj metodę UpdateSpaceReadState().
  • Przekaż updateMask z wartością lastReadTime.
  • Przekaż spaceReadState jako instancję SpaceReadState w ten sposób:
    • Pole name ustawione na stan odczytu pokoju do zaktualizowania, które zawiera identyfikator użytkownika lub alias oraz identyfikator pokoju. Aktualizacja stanu odczytu przestrzeni obsługuje tylko aktualizację stanu odczytu użytkownika wywołującego, którą można określić, ustawiając jedną z tych wartości:
      • Alias me. Na przykład:users/me/spaces/SPACE/spaceReadState.
      • Adres e-mail użytkownika w Workspace, który inicjuje połączenie. 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, w którym zaktualizowano stan odczytu przestrzeni użytkownika. Zwykle odpowiada to sygnaturze czasowej ostatniej przeczytanej wiadomości lub sygnaturze czasowej określonej przez użytkownika w celu oznaczenia ostatniej przeczytanej pozycji w przestrzeni. Jeśli lastReadTime jest wcześniejsza niż czas utworzenia ostatniej wiadomości, pokój jest 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 jest dostosowywana do najnowszego czasu utworzenia wiadomości. Stan odczytu pokoju wpływa tylko na stan odczytu wiadomości widocznych w rozmowie najwyższego poziomu w pokoju. Ten sygnatura czasowa nie ma wpływu na odpowiedzi w wątkach. Zamiast tego zależą one od stanu odczytu wątku.

W tym przykładzie aktualizowany jest 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 z name przestrzeni. Możesz go uzyskać, wywołując metodę ListSpaces() lub z adresu URL pokoju.

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