Z tego przewodnika dowiesz się, jak administrator Google Workspace może używać search()
metody w Space
zasobie 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.
Space
Zasó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 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 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.json
w 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
useAdminAccess
ustaw 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.spaces
lubchat.admin.spaces.readonly
. - Wpisz
useAdminAccess=true
. - Określ parametry wyszukiwania
query
, aby przefiltrować wyniki:customer = "customers/my_customer"
– wymagana, jedyna obsługiwana wartość tocustomers/my_customer
spaceType = "SPACE"
– wymagana, jedyną obsługiwaną wartością jestSPACE
- 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.py
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
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.spaces
lubchat.admin.spaces.readonly
. - Wywołaj metodę
search()
w zasobieSpaces
. - Ustaw
INACTIVE_SPACE_DEADLINE
na datę i godzinę ostatniej aktywności, która określa zwracane miejsca. - Wpisz
useAdminAccess=true
. - Określ parametry wyszukiwania
query
, aby przefiltrować wyniki:customer = "customers/my_customer"
– wymagana, a jedyną obsługiwaną wartością jestcustomers/my_customer
spaceType = "SPACE"
– wymagana, jedyną obsługiwaną wartością jestSPACE
lastActiveTime
– aby odfiltrować żądanie i zwrócić tylko nieaktywne pokoje, określlastActiveTime
- 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.py
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_DATE
datą 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