Questa guida spiega come un amministratore di Google Workspace può utilizzare il
search() metodo su una
Space risorsa dell'
API Google Chat per gestire gli spazi denominati nella propria organizzazione ed eseguire
attività amministrative.
In qualità di amministratore di Google Workspace, puoi utilizzare l'API Chat
solo per gestire gli spazi denominati, definiti come
SpaceType di
SPACE. Gli spazi denominati sono luoghi persistenti in cui le persone inviano messaggi, condividono file e collaborano. Non puoi utilizzare l'API Chat per gestire i messaggi diretti o le chat di gruppo.
La risorsa
Space rappresenta un luogo in cui persone e app di chat possono inviare messaggi,
condividere file e collaborare.
Esistono diversi tipi di spazi:
- I messaggi diretti sono conversazioni tra due utenti o tra un utente e un'app di chat.
- Le chat di gruppo sono conversazioni tra tre o più utenti e app di chat.
- Gli spazi denominati sono luoghi persistenti in cui le persone inviano messaggi, condividono file e collaborano.
In qualità di amministratore di Google Workspace, puoi utilizzare l'API Chat per cercare e gestire gli spazi denominati nella tua organizzazione nei seguenti modi:
- Eseguire un audit degli spazi nell'organizzazione. Utilizzando il metodo
search(), puoi recuperare un elenco di tutti gli spazi di un'organizzazione con informazioni dettagliate sulle impostazioni e sui metadati di ogni spazio, come la data di creazione, la data dell'ultima attività, il numero di membri, lo stato dell'impostazione della cronologia e la possibilità di invitare ospiti esterni. - Trovare ed eliminare gli spazi inattivi. Utilizzando il metodo
search(), puoi trovare gli spazi che non sono stati utilizzati da una data e un'ora specifiche ed eliminarli. Per ulteriori dettagli e codice campione, consulta Trovare ed eliminare gli spazi inattivi. - Esportare un elenco di spazi in base ai criteri di ricerca. Utilizzando il metodo
search(), puoi recuperare un elenco di spazi che soddisfano i criteri specificati nellaqueryed esportare i risultati in un file CSV per l'analisi. - Trovare e contattare i gestori degli spazi. Utilizzando il
search()metodo, puoi recuperare un elenco di tutti gli spazi di un'organizzazione, quindi utilizzare ilmembers.list()metodo per recuperare un elenco di tutti i membri dello spazio che sono gestori. - Trovare gli spazi senza gestori designati. Utilizzando il metodo
search(), puoi recuperare un elenco di tutti gli spazi di un'organizzazione, quindi utilizzare il metodomembers.list()per recuperare un elenco di spazi che non hanno gestori.
Prerequisiti
Python
- Un account Google Workspace Business o Enterprise con accesso a Google Chat.
- Configura l'ambiente:
- Crea un progetto Google Cloud.
- Configura la schermata per il consenso OAuth.
- Attiva e configura l'API Google Chat con un nome, un'icona e una descrizione per la tua app di chat.
- Installa la libreria client delle API Google per Python .
-
Crea le credenziali ID client OAuth per un'applicazione desktop. Per eseguire l'esempio in questa
guida, salva le credenziali come file JSON denominato
credentials.jsonnella directory locale.
- Scegli un ambito di autorizzazione che supporti l'autenticazione utente.
Chiamare l'API Google Chat come amministratore
Per eseguire l'autenticazione come utente con privilegi di amministratore, devi passare quanto segue nella richiesta:
- Specifica un ambito di autorizzazione che supporti l'utilizzo dell'autenticazione utente con privilegi di amministratore.
- Imposta il campo
useAdminAccesssutrue.
Questa sezione mostra i seguenti esempi di chiamata dell'API Chat come amministratore:
- Cerca gli spazi chiamando il metodo
search(). - Trova ed elimina gli spazi inattivi nella tua
organizzazione chiamando il metodo
search()per restituire un elenco di spazi inattivi e poi chiamando il metododelete()per eliminarli.
Cercare gli spazi nella tua organizzazione
Questo esempio spiega come gli amministratori di Google Workspace possono utilizzare il metodo search() sulla risorsa Space dell'API Chat per cercare gli spazi in un'organizzazione in base a criteri specificati.
Per chiamare il metodo search() con
l'autenticazione utente e
i privilegi di amministratore,
devi specificare quanto segue nella richiesta:
- Specifica l'
chat.admin.spaceso l'chat.admin.spaces.readonlyambito di autorizzazione. - Specifica
useAdminAccess=true. - Specifica i parametri
querydi ricerca per filtrare i risultati:customer = "customers/my_customer"- obbligatorio e l'unico valore supportato ècustomers/my_customerspaceType = "SPACE"- obbligatorio e l'unico valore supportato èSPACE- (Facoltativo) Una o più query aggiuntive per filtrare ulteriormente la ricerca dello spazio, ad esempio parole chiave nei nomi visualizzati (
displayName), la data di creazione (createTime) o in base all'attività dello spazio (lastActiveTime).
Il seguente codice mostra un esempio di come utilizzare i privilegi di amministratore per cercare gli spazi con un nome visualizzato che contiene "Hello" e "World", in qualsiasi combinazione:
Python
- Nella directory di lavoro, crea un file denominato
search_spaces_for_hello_world.py. Includi il seguente codice in
search_spaces_for_hello_world.py: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)Nella directory di lavoro, crea ed esegui l'esempio:
python3 search_spaces_for_hello_world.py
Trovare ed eliminare gli spazi inattivi
Questo esempio spiega come gli amministratori di Google Workspace possono utilizzare il metodo search() sulla risorsa Space dell'API Chat per trovare gli spazi inattivi ed eliminarli utilizzando il metodo delete() con il parametro useAdminAccess.
Gli spazi di Google Chat inattivi, ovvero quelli che non vengono più utilizzati attivamente, possono occupare spazio di archiviazione prezioso e creare confusione nell'interfaccia utente. Utilizzando il metodo search(), gli amministratori possono trovare gli spazi che non sono stati utilizzati da una data e un'ora specifiche, ad esempio due mesi fa. Dopo aver enumerato l'elenco degli spazi, gli amministratori possono intraprendere azioni, ad esempio aggiornarli o eliminarli.
Per cercare un elenco di spazi inattivi ed eliminarli con l'autenticazione utente e i privilegi di amministratore, passa quanto segue nelle richieste:
- Per cercare gli spazi inattivi, specifica quanto segue:
- Specifica l'
chat.admin.spaceso l'chat.admin.spaces.readonlyambito di autorizzazione. - Chiama il metodo
search()sulla risorsaSpaces. - Imposta
INACTIVE_SPACE_DEADLINEsulla data e sull'ora dell'ultima attività che determina gli spazi da restituire. - Specifica
useAdminAccess=true. - Specifica i parametri
querydi ricerca per filtrare i risultati:customer = "customers/my_customer"- obbligatorio e l'unico valore supportato ècustomers/my_customerspaceType = "SPACE"- obbligatorio e l'unico valore supportato èSPACElastActiveTime- per filtrare la richiesta in modo da restituire solo gli spazi inattivi, specificalastActiveTime
- Specifica l'
- Per eliminare gli spazi inattivi dai risultati di ricerca, specifica quanto segue:
- Specifica l'ambito di autorizzazione
chat.admin.delete. - Chiama il metodo
delete()sulla risorsaSpaces. - Specifica
useAdminAccess=true.
- Specifica l'ambito di autorizzazione
Il seguente codice mostra un esempio di come cercare gli spazi inattivi ed eliminarli utilizzando i privilegi di amministratore:
Python
Nella directory di lavoro, crea un file denominato
find_and_delete_inactive_spaces.py.Includi il seguente codice in
find_and_delete_inactive_spaces.py: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()Nel codice, sostituisci
INACTIVE_DATEcon una data e un'ora nel formato AAAA-MM-GGTHH:MM:SS+HH:MM. Ad esempio, "2024-06-01T00:00:00+00:00".Nella directory di lavoro, crea ed esegui l'esempio:
python3 find_and_delete_inactive_spaces.py
Argomenti correlati
- Eliminare gli spazi
- Elencare i membri di uno spazio
- Gestire gli spazi di chat come amministratore di Google Workspace
spaces.search()metodo