In diesem Leitfaden wird erläutert, wie ein Google Workspace-Administrator die
search() Methode für eine
Space Ressource der
Google Chat API mit Administratorberechtigungen (useAdminAccess=true) verwenden kann, um
benannte Gruppenbereiche in seiner Organisation zu verwalten und administrative Aufgaben auszuführen.
Als Google Workspace-Administrator können Sie die Chat API
nur zum Verwalten benannter Gruppenbereiche verwenden, die als
SpaceType von
SPACE definiert sind. Benannte Gruppenbereiche sind dauerhafte Orte, an denen Nutzer Nachrichten senden, Dateien teilen und zusammenarbeiten können. Sie können die Chat API nicht zum Verwalten von Direktnachrichten oder Gruppenchats verwenden.
Die Ressource
Space stellt
einen Ort dar, an dem Nutzer und Chat-Apps Nachrichten senden, Dateien teilen und zusammenarbeiten können. Es gibt verschiedene Arten von Gruppenbereichen:
- Direktnachrichten sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und einer Chat-App.
- Gruppenchats sind Unterhaltungen zwischen mindestens drei Nutzern und Chat-Apps.
- Benannte Gruppenbereiche sind dauerhafte Orte, an denen Nutzer Nachrichten senden, Dateien teilen und zusammenarbeiten können.
Als Google Workspace-Administrator können Sie die Chat API verwenden, um benannte Gruppenbereiche in Ihrer Organisation auf folgende Weise zu suchen und zu verwalten:
- Gruppenbereiche in der Organisation prüfen Mit der Methode
search()können Sie eine Liste aller Gruppenbereiche in einer Organisation mit detaillierten Informationen zu den Einstellungen und Metadaten der einzelnen Gruppenbereiche abrufen, z. B. Erstellungsdatum, Datum der letzten Aktivität, Anzahl der Mitglieder, Status der Einstellung für den Nachrichtenverlauf und Möglichkeit, externe Gäste einzuladen. - Inaktive Gruppenbereiche suchen und löschen Mit der Methode
search()können Sie Gruppenbereiche suchen, die seit einem bestimmten Datum und einer bestimmten Uhrzeit nicht mehr verwendet wurden, und sie dann löschen. Weitere Informationen und Beispielcode finden Sie unter Inaktive Gruppenbereiche suchen und löschen. - Liste von Gruppenbereichen basierend auf Suchkriterien exportieren Mit der Methode
search()können Sie eine Liste von Gruppenbereichen abrufen, die die in derqueryangegebenen Kriterien erfüllen, und die Ergebnisse zur Analyse in eine CSV-Datei exportieren. - Gruppenbereich-Manager suchen und kontaktieren Mit der
search()Methode können Sie eine Liste aller Gruppenbereiche in einer Organisation abrufen, dann mit dermembers.list()Methode eine Liste aller Gruppenbereich-Mitglieder abrufen, die Manager sind. - Gruppenbereiche ohne zugewiesene Manager suchen Mit der Methode
search()können Sie eine Liste aller Gruppenbereiche in einer Organisation abrufen und dann mit der Methodemembers.list()eine Liste von Gruppenbereichen abrufen, die keine Manager haben.
Vorbereitung
Python
- Ein Google Workspace-Konto für Unternehmen oder Google Workspace Enterprise-Konto mit Zugriff auf Google Chat.
- Umgebung einrichten:
- Google Cloud-Projekt erstellen.
- OAuth-Zustimmungsbildschirm konfigurieren.
- Aktivieren und konfigurieren Sie die Google Chat API mit einem Namen, Symbol und einer Beschreibung für Ihre Chat-App.
- Installieren Sie die Google API-Clientbibliothek für Python.
-
Erstellen Sie OAuth-Client-ID-Anmeldedaten für eine Desktopanwendung. Wenn Sie das Beispiel in diesem
Leitfaden ausführen möchten, speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
credentials.jsonin Ihrem lokalen Verzeichnis.
- Wählen Sie einen Autorisierungsbereich aus, der die Nutzerauthentifizierung unterstützt.
- Sie benötigen Administratorberechtigungen für Unterhaltungen in Chats und Gruppenbereichen verwalten für Ihre Google Workspace-Organisation.
Google Chat API als Administrator aufrufen
Wenn Sie sich als Nutzer mit Administratorberechtigungen, authentifizieren möchten, müssen Sie Folgendes in Ihre Anfrage aufnehmen:
- Geben Sie einen Autorisierungsbereich an, der die Nutzerauthentifizierung mit Administratorberechtigungen unterstützt.
- Setzen Sie das Feld
useAdminAccessauftrue.
In diesem Abschnitt werden die folgenden Beispiele für das Aufrufen der Chat API als Administrator gezeigt:
- Mit der Methode
search()nach Gruppenbereichen suchen. - Inaktive Gruppenbereiche suchen und löschen in Ihrer
Organisation. Rufen Sie dazu die
search()Methode auf, um eine Liste der inaktiven Gruppenbereiche abzurufen, und rufen Sie dann diedelete()Methode auf, um sie zu löschen.
Nach Gruppenbereichen in Ihrer Organisation suchen
In diesem Beispiel wird erläutert, wie Google Workspace-Administratoren die Methode search() für die Ressource Space der Chat API verwenden können, um anhand bestimmter Kriterien nach Gruppenbereichen in einer Organisation zu suchen.
Wenn Sie die Methode search() mit
Nutzerauthentifizierung und
Administratorberechtigungen aufrufen möchten,
müssen Sie Folgendes in der Anfrage angeben:
- Geben Sie den
chat.admin.spacesoderchat.admin.spaces.readonlyAutorisierungsbereich an. - Geben Sie
useAdminAccess=truean. - Geben Sie die Suche
queryParameter an, um die Ergebnisse zu filtern:customer = "customers/my_customer": erforderlich. Der einzige unterstützte Wert istcustomers/my_customer.spaceType = "SPACE": erforderlich. Der einzige unterstützte Wert istSPACE.- Optional: Eine oder mehrere zusätzliche Abfragen, um die Suche nach Gruppenbereichen weiter zu filtern, z. B. Schlüsselwörter in Anzeigenamen (
displayName), das Erstellungsdatum (createTime) oder basierend auf der Gruppenbereich-Aktivität (lastActiveTime).
Der folgende Code zeigt ein Beispiel dafür, wie Sie mit Administratorberechtigungen nach Gruppenbereichen suchen, deren Anzeigename in beliebiger Kombination „Hallo“ und „Welt“ enthält:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
search_spaces_for_hello_world.py. Fügen Sie den folgenden Code in
search_spaces_for_hello_world.pyein: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)Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 search_spaces_for_hello_world.py
Inaktive Gruppenbereiche suchen und löschen
In diesem Beispiel wird erläutert, wie Google Workspace-Administratoren die Methode search() für die Ressource Space der Chat API verwenden können, um inaktive Gruppenbereiche zu suchen und sie dann mit der Methode delete() und dem Parameter useAdminAccess zu löschen.
Inaktive Google Chat-Gruppenbereiche, die nicht mehr aktiv verwendet werden, können wertvollen Speicherplatz belegen und die Benutzeroberfläche unübersichtlich machen. Mit der Methode search() können Administratoren Gruppenbereiche suchen, die seit einem bestimmten Datum und einer bestimmten Uhrzeit nicht mehr verwendet wurden, z. B. seit zwei Monaten. Nachdem die Liste der Gruppenbereiche erstellt wurde, können Administratoren Maßnahmen ergreifen, z. B. sie aktualisieren oder löschen.
Wenn Sie mit Nutzerauthentifizierung und Administratorberechtigungen nach einer Liste inaktiver Gruppenbereiche suchen und sie dann löschen möchten, geben Sie Folgendes in Ihren Anfragen an:
- So suchen Sie nach inaktiven Gruppenbereichen:
- Geben Sie den
chat.admin.spacesoderchat.admin.spaces.readonlyAutorisierungsbereich an. - Rufen Sie die Methode
search()für die RessourceSpacesauf. - Setzen Sie
INACTIVE_SPACE_DEADLINEauf das Datum und die Uhrzeit der letzten Aktivität, anhand derer die zurückzugebenden Gruppenbereiche bestimmt werden. - Geben Sie
useAdminAccess=truean. - Geben Sie die Suche
queryParameter an, um die Ergebnisse zu filtern:customer = "customers/my_customer": erforderlich. Der einzige unterstützte Wert istcustomers/my_customer.spaceType = "SPACE": erforderlich. Der einzige unterstützte Wert istSPACE.lastActiveTime: Wenn Sie die Anfrage so filtern möchten, dass nur inaktive Gruppenbereiche zurückgegeben werden, geben SielastActiveTimean.
- Geben Sie den
- So löschen Sie die inaktiven Gruppenbereiche aus den Suchergebnissen:
- Geben Sie den Autorisierungsbereich
chat.admin.deletean. - Rufen Sie die Methode
delete()für die RessourceSpacesauf. - Geben Sie
useAdminAccess=truean.
- Geben Sie den Autorisierungsbereich
Der folgende Code zeigt ein Beispiel dafür, wie Sie mit Administratorberechtigungen nach inaktiven Gruppenbereichen suchen und sie löschen:
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
find_and_delete_inactive_spaces.py.Fügen Sie den folgenden Code in
find_and_delete_inactive_spaces.pyein: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()Ersetzen Sie im Code
INACTIVE_DATEdurch ein Datum und eine Uhrzeit im Format JJJJ-MM-TTTHH:MM:SS+HH:MM. Beispiel: „2024-06-01T00:00:00+00:00“.Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:
python3 find_and_delete_inactive_spaces.py
Weitere Informationen
- Gruppenbereiche suchen
- Gruppenbereiche löschen
- Mitglieder in einem Gruppenbereich auflisten
- Chat-Gruppenbereiche als Google Workspace-Administrator verwalten
spaces.search()Methode