Z tego przewodnika dowiesz się, jak administrator Google Workspace może używać metody
search() w zasobie
Space 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 pokojami, które są zdefiniowane jako
SpaceType o wartości
SPACE. Nazwane pokoje 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 na czacie ani czatami grupowymi.
Zasób
Space reprezentuje miejsce, w którym użytkownicy i aplikacje Chat 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ą Chat.
- Czaty grupowe to rozmowy między co najmniej 3 użytkownikami a aplikacjami Chat.
- Nazwane pokoje 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 nazwanych pokoi w organizacji i zarządzania nimi na te sposoby:
- Sprawdzanie pokoi w organizacji. Za pomocą metody
search()możesz pobrać listę wszystkich pokoi w organizacji ze szczegółowymi informacjami o ustawieniach i metadanych każdego pokoju, takimi jak data utworzenia, data ostatniej aktywności, liczba użytkowników, stan ustawienia historii i możliwość zapraszania gości zewnętrznych. - Znajdowanie i usuwanie nieaktywnych pokoi. Za pomocą metody
search()możesz znaleźć pokoje, 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 pokoi. - Eksportowanie listy pokoi na podstawie kryteriów wyszukiwania. Za pomocą metody
search()możesz pobrać listę pokoi, które spełniają kryteria określone wquery, i 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 pokoi w organizacji, a następnie użyć metodymembers.list()aby pobrać listę wszystkich użytkowników pokoju, którzy są menedżerami. - Znajdowanie pokoi bez wyznaczonych menedżerów. Za pomocą metody
search()możesz pobrać listę wszystkich pokoi w organizacji, a następnie użyć metodymembers.list(), aby pobrać listę pokoi, które nie mają menedżerów.
Wymagania wstępne
Python
- 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 Chat.
- Zainstaluj bibliotekę klienta interfejsu Google API w Pythonie.
-
Utwórz dane logowania z identyfikatorem klienta OAuth dla aplikacji na komputer. Aby uruchomić przykład w tym
przewodniku, zapisz dane logowania w pliku JSON o nazwie
credentials.jsonw katalogu lokalnym.
- Wybierz zakres autoryzacji, który obsługuje uwierzytelnianie użytkownika.
Wywoływanie interfejsu Google Chat API jako administrator
Aby uwierzytelnić się jako użytkownik z uprawnieniami administratora, musisz przekazać w żądaniu te informacje:
- Określ zakres autoryzacji który obsługuje uwierzytelnianie użytkownika z uprawnieniami administratora.
- Ustaw pole
useAdminAccessnatrue.
W tej sekcji znajdziesz te przykłady wywoływania interfejsu Chat API jako administrator:
- Wyszukiwanie pokoi przez wywołanie metody
search(). - Znajdowanie i usuwanie nieaktywnych pokoi w
organizacji przez wywołanie metody
search()w celu zwrócenia listy nieaktywnych pokoi, a następnie wywołanie metodydelete()w celu ich usunięcia.
Wyszukiwanie pokoi w organizacji
Z tego przykładu dowiesz się, jak administratorzy Google Workspace mogą używać metody search() w zasobie Space interfejsu Chat API do wyszukiwania pokoi w organizacji na podstawie określonych kryteriów.
Aby wywołać metodę search() z
uwierzytelnianiem użytkownika i
uprawnieniami administratora,
musisz w żądaniu określić te informacje:
- Określ zakres autoryzacji
chat.admin.spaceslubchat.admin.spaces.readonly. - Określ
useAdminAccess=true. - Określ parametry
querywyszukiwania, aby filtrować wyniki:customer = "customers/my_customer"– wymagana wartość, a jedyną obsługiwaną wartością jestcustomers/my_customer.spaceType = "SPACE"– wymagana wartość, a jedyną obsługiwaną wartością jestSPACE.- Opcjonalnie możesz dodać co najmniej 1 dodatkowe zapytanie, aby dokładniej filtrować wyszukiwanie pokoi, np. słowa kluczowe w nazwach wyświetlanych (
displayName), datę utworzenia (createTime) lub na podstawie aktywności w pokoju (lastActiveTime).
Poniższy kod pokazuje, jak używać uprawnień administratora do wyszukiwania pokoi, których nazwa wyświetlana zawiera słowa „Hello” i „World” w dowolnej kombinacji:
Python
- W katalogu roboczym utwórz plik o nazwie
search_spaces_for_hello_world.py. W pliku
search_spaces_for_hello_world.pyumieść ten 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
Z tego przykładu dowiesz się, jak administratorzy Google Workspace mogą używać metody search() w zasobie Space interfejsu Chat API do znajdowania nieaktywnych pokoi, a następnie usuwać je za pomocą metody delete() z parametrem useAdminAccess.
Nieaktywne pokoje Google Chat – te, które nie są już aktywnie używane – mogą zajmować cenne miejsce na dysku i powodować bałagan w interfejsie użytkownika. Za pomocą metody search() administratorzy mogą znaleźć pokoje, które nie były używane od określonej daty i godziny, np. od 2 miesięcy. Po wyświetleniu listy pokoi administratorzy mogą podjąć działania, np. zaktualizować lub usunąć pokoje.
Aby wyszukać listę nieaktywnych pokoi, a następnie je usunąć za pomocą uwierzytelniania użytkownika i uprawnień administratora, w żądaniach musisz przekazać te informacje:
- Aby wyszukać nieaktywne pokoje, określ te informacje:
- 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, które pokoje mają zostać zwrócone. - Określ
useAdminAccess=true. - Określ parametry
querywyszukiwania, aby filtrować wyniki:customer = "customers/my_customer"– wymagana wartość, a jedyną obsługiwaną wartością jestcustomers/my_customer.spaceType = "SPACE"– wymagana wartość, a jedyną obsługiwaną wartością jestSPACE.lastActiveTime– aby filtrować żądanie i zwracać tylko nieaktywne pokoje, określlastActiveTime.
- Określ zakres autoryzacji
- Aby usunąć nieaktywne pokoje z wyników wyszukiwania, określ te informacje:
- Określ zakres autoryzacji
chat.admin.delete. - Wywołaj metodę
delete()w zasobieSpaces. - Określ
useAdminAccess=true.
- Określ zakres autoryzacji
Poniższy kod pokazuje, jak wyszukiwać nieaktywne pokoje i usuwać je za pomocą uprawnień administratora:
Python
W katalogu roboczym utwórz plik o nazwie
find_and_delete_inactive_spaces.py.W pliku
find_and_delete_inactive_spaces.pyumieść ten 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-DDTGG:MM:SS+GG: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 użytkowników w pokoju
- Zarządzanie pokojami Chat jako administrator Google Workspace
spaces.search()metoda