Z tego przewodnika dowiesz się, jak używać metody updateSpaceReadState
na stronie
SpaceReadState
zasób interfejsu Google Chat API do oznaczania pokoi jako przeczytanych lub nieprzeczytanych.
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
Python
- Firmy lub przedsiębiorstwa Konto Google Workspace z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth
- Włącz i skonfiguruj interfejs Google Chat API pod nazwą. ikonę i opis aplikacji Google Chat.
- Zainstaluj Python Biblioteka klienta interfejsów API Google.
-
Utwórz dane logowania na podstawie identyfikatora klienta OAuth dla aplikacji komputerowej. Aby uruchomić próbkę w tym
Przewodnika, zapisz dane logowania w pliku JSON o nazwie
client_secrets.json
katalog lokalny.
- Wybierz zakres autoryzacji, który obsługuje uwierzytelnianie użytkowników.
Node.js
- Firmy lub przedsiębiorstwa Konto Google Workspace z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth
- Włącz i skonfiguruj interfejs Google Chat API pod nazwą. ikonę i opis aplikacji Google Chat.
- Zainstaluj Node.js Biblioteka klienta interfejsów API Google.
-
Utwórz dane logowania na podstawie identyfikatora klienta OAuth dla aplikacji komputerowej. Aby uruchomić próbkę w tym
Przewodnika, zapisz dane logowania w pliku JSON o nazwie
client_secrets.json
katalog lokalny.
- Wybierz zakres autoryzacji, który obsługuje uwierzytelnianie użytkowników.
Google Apps Script
- Firmy lub przedsiębiorstwa Konto Google Workspace z dostępem do Google Chat.
- Skonfiguruj środowisko:
- Utwórz projekt Google Cloud.
- Skonfiguruj ekran zgody OAuth
- Włącz i skonfiguruj interfejs Google Chat API pod nazwą. ikonę i opis aplikacji Google Chat.
- Utwórz samodzielny projekt Apps Script. i włącz zaawansowaną usługę czatu.
- Wybierz zakres autoryzacji, który obsługuje uwierzytelnianie użytkowników.
Zaktualizuj stan odczytu pokoju użytkownika dzwoniącego
Aby zaktualizować stan odczytu użytkownika w pokoju, umieść w Twoja prośba:
- Określ zakres autoryzacji
chat.users.readstate
. - Wywołaj funkcję
Metoda
updateSpaceReadState
wSpaceReadState
zasób. - Aby uzyskać wartość, przekaż
name
stanu odczytu pokoju, który zawiera identyfikator użytkownika lub alias i identyfikator pokoju. Uzyskiwanie stanu odczytu pokoju obsługuje tylko pobieranie odczytu stanu użytkownika wywołującego, który można określić, ustawiając jedną z :- Alias
me
. Przykład:users/me/spaces/SPACE/spaceReadState
- Adres e-mail użytkownika nawiązującego połączenie z Workspace. Przykład:
users/[email protected]/spaces/SPACE/spaceReadState
- Identyfikator użytkownika wywołującego. Przykład:
users/USER/spaces/SPACE/spaceReadState
- Alias
- Przekazuj parametr
updateMask
, który określa aspekty stanu odczytu pokoju update, która obsługuje te ścieżki pól:lastReadTime
: czas zaktualizowania stanu odczytu pokoju użytkownika. Zwykle odpowiada to sygnaturze czasowej ostatniej przeczytanej wiadomości lub w postaci sygnatury czasowej określonej przez użytkownika, która oznacza ostatnią pozycję przeczytaną w kosmosu. GdylastReadTime
przypada przed ostatnią godziną utworzenia wiadomości, makro że pokój będzie wyświetlany w UI jako nieprzeczytany. Aby oznaczyć pokój jako przeczytany, ustawlastReadTime
na dowolną wartość późniejszą (większą) niż w wyniku utworzenia ostatniej wiadomości obecnie się znajdujesz. WartośćlastReadTime
jest przekształcona tak, aby pasowała do ostatniego czasu utworzenia wiadomości. Pamiętaj, że stan odczytu pokoju wpływa tylko na stan odczytu wiadomości, które są widoczne w rozmowie na najwyższym poziomie pokoju. Odpowiedzi w wątkach są nie ma wpływu na tę sygnaturę czasową, a zamiast tego polegają na stanie odczytu wątku.
Ten przykład aktualizuje stan odczytu przestrzeni użytkownika wywołującego:
Python
- W katalogu roboczym utwórz plik o nazwie
chat_spaceReadState_update.py
Umieść w pliku
chat_spaceReadState_update.py
ten kod:from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.users.readstate"] def main(): ''' Authenticates with Chat API via user credentials, then updates the space read state for the calling user. ''' # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'client_secrets.json', SCOPES) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) # Use the service endpoint to call Chat API. result = chat.users().spaces().updateSpaceReadState( # The space read state to update. # # Replace USER with the calling user's ID, Workspace email, # or the alias me. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. name='users/me/spaces/SPACE/spaceReadState', updateMask='lastReadTime', body={'lastReadTime': f'{datetime.datetime(2000, 1, 3).isoformat()}Z'} ).execute() # Prints the API's response. print(result) if __name__ == '__main__': main()
Zastąp w kodzie następujące elementy:
SPACE
: nazwa pokoju, która który znajdziesz w Metodaspaces.list
w interfejsie Chat API lub z adresu URL pokoju.
W katalogu roboczym skompiluj i uruchom przykład:
python3 chat_spaceReadState_update.py
Node.js
- W katalogu roboczym utwórz plik o nazwie
chat_spaceReadState_update.js
Umieść w pliku
chat_spaceReadState_update
ten kod:const chat = require('@googleapis/chat'); const {authenticate} = require('@google-cloud/local-auth'); /** * Authenticates with Chat API via user credentials, * then updates the space read state for the calling user. * @return {!Promise<!Object>} */ async function updateSpaceReadState() { /** * Authenticate with Google Workspace * and get user authorization. */ const scopes = [ 'https://www.googleapis.com/auth/chat.users.readstate', ]; const authClient = await authenticate({scopes, keyfilePath: 'client_secrets.json'}); /** * Build a service endpoint for Chat API. */ const chatClient = await chat.chat({version: 'v1', auth: authClient}); /** * Use the service endpoint to call Chat API. */ return await chatClient.users.spaces.updateSpaceReadState({ /** * The space read state to update. * * Replace USER with the calling user's ID, Workspace email, * or the alias me. * * Replace SPACE with a space name. * Obtain the space name from the spaces resource of Chat API, * or from a space's URL. */ name: 'users/me/spaces/SPACE/spaceReadState', updateMask: 'lastReadTime', requestBody: { lastReadTime: '{datetime.datetime(2000, 1, 3).isoformat()}Z' } }); } /** * Use the service endpoint to call Chat API. */ getSpaceReadState().then(console.log);
Zastąp w kodzie następujące elementy:
SPACE
: nazwa pokoju, która który znajdziesz w Metodaspaces.list
w interfejsie Chat API lub z adresu URL pokoju.
W katalogu roboczym skompiluj i uruchom przykład:
node chat_spaceReadState_update.js
Google Apps Script
W tym przykładzie wywołujemy interfejs Chat API za pomocą parametru Zaawansowana usługa czatu.
Dodaj zakres autoryzacji
chat.users.readstate
do Plikappsscript.json
projektu Apps Script:"oauthScopes": [ "https://www.googleapis.com/auth/chat.users.readstate" ]
Dodaj funkcję taką jak ta do kod:
/** * Authenticates with Chat API via user credentials, * then updates the space read state for the calling user. * @param {string} spaceReadStateName The resource name of the space read state. */ function updateSpaceReadState(spaceReadStateName) { try { const time = new Date('January 1, 2000')).toJSON(); const body = {'lastReadTime': time}; Chat.Users.Spaces.updateSpaceReadState(spaceReadStateName, body); } catch (err) { // TODO (developer) - Handle exception console.log('Failed to update read state with error %s', err.message); } }
Interfejs Google Chat API aktualizuje określony stan odczytu pokoju i zwraca go
wystąpienie
SpaceReadState
zasób.
Powiązane artykuły
- Uzyskiwanie stanu odczytu pokoju użytkownika dzwoniącego
- Uzyskiwanie stanu odczytu wątków użytkownika wywołującego