Z tego przewodnika dowiesz się, jak administrator Google Workspace może używać search()metody w Spacezasobie interfejsu Google Chat API do zarządzania nazwanymi pokojami w organizacji i wykonywania zadań administracyjnych.
Jako administrator Google Workspace możesz używać interfejsu Chat API tylko do zarządzania nazwanymi przestrzeniami, które są zdefiniowane jako SpaceType SPACE. Pokoje z nazwami to trwałe miejsca, w których użytkownicy mogą wysyłać wiadomości, udostępniać pliki i współpracować. Nie możesz używać interfejsu Chat API do zarządzania wiadomościami bezpośrednimi ani czatami grupowymi.
SpaceZasób
reprezentuje miejsce, w którym użytkownicy i aplikacje do obsługi czatu mogą wysyłać wiadomości, udostępniać pliki i współpracować. Istnieje kilka rodzajów pokoi:
- Wiadomości na czacie to rozmowy między 2 użytkownikami lub między użytkownikiem a aplikacją do obsługi czatu.
- Czaty grupowe to rozmowy między co najmniej 3 użytkownikami i aplikacjami do czatowania.
- Pokoje z nazwami to trwałe miejsca, w których użytkownicy mogą wysyłać wiadomości, udostępniać pliki i współpracować.
Jako administrator Google Workspace możesz używać interfejsu Chat API do wyszukiwania i zarządzania nazwanymi pokojami w organizacji w następujący sposób:
- Sprawdzanie pokoi w organizacji Za pomocą metody
search()możesz pobrać listę wszystkich przestrzeni w organizacji ze szczegółowymi informacjami o ustawieniach i metadanych każdej przestrzeni, takimi jak data utworzenia, data ostatniej aktywności, liczba członków, stan ustawienia historii i możliwość zapraszania gości zewnętrznych.
- Znajdź i usuń nieaktywne pokoje. Za pomocą metody search()możesz znaleźć miejsca, które nie były używane od określonej daty i godziny, a następnie je usunąć. Więcej informacji i przykładowy kod znajdziesz w artykule Znajdowanie i usuwanie nieaktywnych przestrzeni.
- Eksportowanie listy pokoi na podstawie kryteriów wyszukiwania Za pomocą metody search()możesz pobrać listę przestrzeni spełniających kryteria określone wqueryi wyeksportować wyniki do pliku CSV w celu analizy.
- Znajdowanie menedżerów pokoi i kontaktowanie się z nimi Za pomocą metody
search()możesz pobrać listę wszystkich przestrzeni w organizacji, a następnie użyć metodymembers.list()do pobrania listy wszystkich członków przestrzeni, którzy są menedżerami.
- Znajdowanie pokoi bez wyznaczonych menedżerów. Za pomocą metody search()możesz pobrać listę wszystkich przestrzeni w organizacji, a następnie użyć metodymembers.list(), aby pobrać listę przestrzeni, które nie mają menedżerów.
Wymagania wstępne
Python
- Konto Google Workspace w wersji Business lub Enterprise 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, podając nazwę, ikonę i opis aplikacji do obsługi czatu.
- Zainstaluj bibliotekę klienta interfejsu API Google dla języka Python.
- 
        Utwórz dane logowania identyfikatora klienta OAuth dla aplikacji na komputery. Aby uruchomić przykład w tym przewodniku, zapisz dane logowania jako plik JSON o nazwie credentials.jsonw katalogu lokalnym.
 
- Wybierz zakres autoryzacji, który obsługuje uwierzytelnianie użytkowników.
- Musisz mieć uprawnienia administratora do zarządzania czatem i rozmowami w pokojach w organizacji Google Workspace.
Wywoływanie interfejsu Google Chat API jako administrator
Aby uwierzytelnić się jako użytkownik z uprawnieniami administratora, musisz w żądaniu przekazać te informacje:
- Określ zakres autoryzacji, który obsługuje uwierzytelnianie użytkownika z uprawnieniami administratora.
- W polu useAdminAccessustaw wartośćtrue.
W tej sekcji znajdziesz te przykłady wywoływania interfejsu Chat API jako administrator:
- Wyszukaj pokoje, wywołując metodę search().
- Znajdź i usuń nieaktywne przestrzenie w organizacji, wywołując metodę search(), aby zwrócić listę nieaktywnych przestrzeni, a następnie wywołując metodędelete(), aby je usunąć.
Wyszukiwanie pokoi w organizacji
W tym przykładzie wyjaśniamy, jak administratorzy Google Workspace mogą używać metody
search() w zasobie Space interfejsu Chat API do wyszukiwania
przestrzeni w organizacji na podstawie określonych kryteriów.
Aby wywołać metodę search() z uwierzytelnianiem użytkownika i uprawnieniami administratora, w żądaniu musisz podać te informacje:
- Określ zakres autoryzacji chat.admin.spaceslubchat.admin.spaces.readonly.
- Wpisz useAdminAccess=true.
- Określ parametry wyszukiwaniaquery, aby przefiltrować wyniki:- customer = "customers/my_customer"– wymagana, jedyna obsługiwana wartość to- customers/my_customer
- spaceType = "SPACE"– wymagana, jedyną obsługiwaną wartością jest- SPACE
- Opcjonalnie możesz dodać co najmniej 1 dodatkowe zapytanie, aby dokładniej przefiltrować wyszukiwanie pokoju, np. słowa kluczowe w nazwach wyświetlanych (displayName), datę utworzenia (createTime) lub aktywność w pokoju (lastActiveTime).
 
Poniższy kod pokazuje przykład użycia uprawnień administratora do wyszukiwania pokoi o wyświetlanej nazwie zawierającej słowa „Hello” i „World” w dowolnej kombinacji:
Python
- W katalogu roboczym utwórz plik o nazwie search_spaces_for_hello_world.py.
- Dodaj do pliku - search_spaces_for_hello_world.pyten kod:- from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', ] def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer"' 'AND spaceType = "SPACE"' 'AND displayName:"Hello World"' ) pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No spaces found named Hello World.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' spaces found:') # Prints the list of spaces. print(spaces)
- W katalogu roboczym skompiluj i uruchom przykład: - python3 search_spaces_for_hello_world.py
Znajdowanie i usuwanie nieaktywnych pokoi
Ten przykład pokazuje, jak administratorzy Google Workspace mogą używać metody
search() w zasobie Space interfejsu Chat API, aby znaleźć nieaktywne pokoje, a następnie usunąć je za pomocą metody delete() z parametrem
useAdminAccess.
Nieaktywne pokoje w Google Chat, które nie są już aktywnie używane, mogą zajmować cenne miejsce na dane i powodować bałagan w interfejsie. Korzystając z search() tej metody, administratorzy mogą znaleźć miejsca, które nie były używane od określonej daty i godziny, np. od 2 miesięcy. Po wyliczeniu listy przestrzeni administratorzy mogą podejmować działania, takie jak aktualizowanie lub usuwanie przestrzeni.
Aby wyszukać listę nieaktywnych przestrzeni, a następnie usunąć je za pomocą uwierzytelniania użytkownika i uprawnień administratora, w żądaniach przekaż te informacje:
- Aby wyszukać nieaktywne pokoje, określ te kryteria:- Określ zakres autoryzacji chat.admin.spaceslubchat.admin.spaces.readonly.
- Wywołaj metodę search()w zasobieSpaces.
- Ustaw INACTIVE_SPACE_DEADLINEna datę i godzinę ostatniej aktywności, która określa zwracane miejsca.
- Wpisz useAdminAccess=true.
- Określ parametry wyszukiwaniaquery, aby przefiltrować wyniki:- customer = "customers/my_customer"– wymagana, a jedyną obsługiwaną wartością jest- customers/my_customer
- spaceType = "SPACE"– wymagana, jedyną obsługiwaną wartością jest- SPACE
- lastActiveTime– aby odfiltrować żądanie i zwrócić tylko nieaktywne pokoje, określ- lastActiveTime
 
 
- Określ zakres autoryzacji 
- Aby usunąć nieaktywne pokoje z wyników wyszukiwania, określ te elementy:- Określ zakres autoryzacji chat.admin.delete.
- Wywołaj metodę delete()w zasobieSpaces.
- Wpisz useAdminAccess=true.
 
- Określ zakres autoryzacji 
Poniższy kod pokazuje przykład wyszukiwania nieaktywnych miejsc i ich usuwania przy użyciu uprawnień administratora:
Python
- W katalogu roboczym utwórz plik o nazwie - find_and_delete_inactive_spaces.py.
- Dodaj do pliku - find_and_delete_inactive_spaces.pyten kod:- from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build SCOPES = [ 'https://www.googleapis.com/auth/chat.admin.spaces.readonly', 'https://www.googleapis.com/auth/chat.admin.delete', ] # Any spaces that have not been active since this time will be deleted. INACTIVE_SPACE_DEADLINE = '"INACTIVE_DATE"' def main(): # Authenticate with Google Workspace # and get user authorization. flow = InstalledAppFlow.from_client_secrets_file( 'credentials.json', SCOPES, ) creds = flow.run_local_server() # Build a service endpoint for Chat API. chat = build('chat', 'v1', credentials=creds) spaces = [] page_token = '' # Search for all inactive spaces. while True: result = ( chat.spaces() .search( useAdminAccess=True, query=( 'customer = "customers/my_customer" AND spaceType = "SPACE" AND' ' lastActiveTime < ' ) + INACTIVE_SPACE_DEADLINE, pageToken=page_token, ) .execute() ) if 'spaces' not in result: print('No inactive spaces found.') return spaces.extend(result['spaces']) if 'nextPageToken' in result: page_token = result['nextPageToken'] else: break print(str(len(spaces)) + ' inactive spaces found:') # Prints the list of inactive spaces. print(spaces) # Delete all inactive spaces. for space in spaces: ( chat.spaces() .delete( useAdminAccess=True, name=space['name'], ) .execute() ) print( 'Deleted space: ' + space['displayName'] + ', Resource Name: ' + space['name'] ) if __name__ == '__main__': main()
- W kodzie zastąp - INACTIVE_DATEdatą i godziną w formacie RRRR-MM-DDTHH:MM:SS+HH:MM. Na przykład „2024-06-01T00:00:00+00:00”.
- W katalogu roboczym skompiluj i uruchom przykład: - python3 find_and_delete_inactive_spaces.py
Powiązane artykuły
- Usuwanie pokoi
- Wyświetlanie listy osób w pokoju
- Zarządzanie pokojami w Google Chat jako administrator Google Workspace
- spaces.search()metoda