In dieser Anleitung wird beschrieben, wie ein Google Workspace-Administrator die search()
-Methode für eine Space
-Ressource der Google Chat API verwenden kann, um benannte Bereiche in seiner Organisation zu verwalten und administrative Aufgaben auszuführen.
Als Google Workspace-Administrator können Sie die Chat API nur zum Verwalten von benannten Gruppenbereichen 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 Space
-Ressource stellt einen Ort dar, an dem Personen und Chat-Apps Nachrichten senden, Dateien teilen und zusammenarbeiten können. Es gibt verschiedene Arten von Bereichen:
- Direktnachrichten (DNs) sind Unterhaltungen zwischen zwei Nutzern oder zwischen einem Nutzer und einer Chat-App.
- Gruppenchats sind Unterhaltungen zwischen drei oder mehr 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 Bereiche 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 Bereiche in einer Organisation mit detaillierten Informationen zu den Einstellungen und Metadaten jedes Bereichs abrufen, z. B. Erstellungsdatum, Datum der letzten Aktivität, Anzahl der Mitglieder, Status der Verlaufseinstellung und Möglichkeit, externe Gäste einzuladen. - Inaktive Gruppenbereiche suchen und löschen: Mit der Methode
search()
können Sie Bereiche finden, 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 Bereiche suchen und löschen. - Eine Liste von Gruppenbereichen basierend auf Suchkriterien exportieren: Mit der Methode
search()
können Sie eine Liste von Bereichen abrufen, die den inquery
angegebenen Kriterien entsprechen, und die Ergebnisse zur Analyse in eine CSV-Datei exportieren. - Space-Manager finden und kontaktieren Mit der Methode
search()
können Sie eine Liste aller Spaces in einer Organisation abrufen. Anschließend können Sie mit der Methodemembers.list()
eine Liste aller Space-Mitglieder abrufen, die Manager sind. - Gruppenbereiche ohne zugewiesene Administratoren finden: Mit der Methode
search()
können Sie eine Liste aller Spaces in einer Organisation abrufen. Anschließend können Sie mit der Methodemembers.list()
eine Liste der Spaces abrufen, die keine Administratoren haben.
Vorbereitung
Python
- Ein Google Workspace-Konto für Unternehmen 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, einem Symbol und einer Beschreibung für Ihre Chat-App.
- Installieren Sie die Google API-Clientbibliothek für Python.
-
OAuth-Client-ID-Anmeldedaten für eine Desktopanwendung erstellen Wenn Sie das Beispiel in dieser Anleitung ausführen möchten, speichern Sie die Anmeldedaten als JSON-Datei mit dem Namen
credentials.json
in Ihrem lokalen Verzeichnis.
- Wählen Sie einen Autorisierungsbereich aus, der die Nutzerauthentifizierung unterstützt.
- Sie benötigen Administratorberechtigungen für Ihre Google Workspace-Organisation, um Unterhaltungen in Chats und Gruppenbereichen zu verwalten.
Google Chat API als Administrator aufrufen
Wenn Sie sich als Nutzer mit Administratorberechtigungen authentifizieren möchten, müssen Sie Folgendes in Ihrer Anfrage übergeben:
- Geben Sie einen Autorisierungsbereich an, der die Verwendung der Nutzerauthentifizierung mit Administratorberechtigungen unterstützt.
- Setzen Sie das Feld
useAdminAccess
auftrue
.
In diesem Abschnitt finden Sie die folgenden Beispiele für den Aufruf der Chat API als Administrator:
- Nach Gruppenbereichen suchen: Rufen Sie dazu die Methode
search()
auf. - Inaktive Bereiche in Ihrer Organisation suchen und löschen: Rufen Sie die Methode
search()
auf, um eine Liste der inaktiven Bereiche zu erhalten, und rufen Sie dann die Methodedelete()
auf, um sie zu löschen.
Nach Gruppenbereichen in Ihrer Organisation suchen
In diesem Beispiel wird erläutert, wie Google Workspace-Administratoren mit der Methode search()
für die Ressource Space
der Chat API anhand bestimmter Kriterien nach Bereichen in einer Organisation suchen können.
Wenn Sie die Methode search()
mit Nutzerauthentifizierung und Administratorberechtigungen aufrufen möchten, müssen Sie Folgendes in der Anfrage angeben:
- Geben Sie den Autorisierungsbereich
chat.admin.spaces
oderchat.admin.spaces.readonly
an. - Geben Sie
useAdminAccess=true
an. - Geben Sie die Suchparameter
query
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 können Sie eine oder mehrere zusätzliche Suchanfragen verwenden, um die Suche nach Projektbereichen weiter zu filtern, z. B. nach Schlüsselwörtern in Anzeigenamen (
displayName
), nach Erstellungsdatum (createTime
) oder nach Projektbereichsaktivität (lastActiveTime
).
Der folgende Code zeigt ein Beispiel dafür, wie Sie mit Administratorberechtigungen nach Bereichen mit einem Anzeigenamen suchen, der „Hello“ und „World“ in beliebiger Kombination 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.py
ein: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 Bereiche zu finden und sie dann mit der Methode delete()
und dem Parameter useAdminAccess
zu löschen.
Inaktive Google Chat-Bereiche, 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 Bereiche finden, die seit einem bestimmten Datum und einer bestimmten Uhrzeit, z. B. vor zwei Monaten, nicht mehr verwendet wurden. Nachdem die Liste der Bereiche erstellt wurde, können Administratoren Aktionen für sie ausführen, z. B. sie aktualisieren oder löschen.
Wenn Sie nach einer Liste inaktiver Bereiche suchen und diese dann mit Nutzerauthentifizierung und Administratorberechtigungen löschen möchten, übergeben Sie Folgendes in Ihren Anfragen:
- Geben Sie Folgendes an, um nach inaktiven Gruppenbereichen zu suchen:
- Geben Sie den Autorisierungsbereich
chat.admin.spaces
oderchat.admin.spaces.readonly
an. - Rufen Sie die Methode
search()
für die RessourceSpaces
auf. - Legen Sie
INACTIVE_SPACE_DEADLINE
auf das Datum und die Uhrzeit der letzten Aktivität fest, anhand derer die zurückzugebenden Räume bestimmt werden. - Geben Sie
useAdminAccess=true
an. - Geben Sie die Suchparameter
query
an, um die Ergebnisse zu filtern:customer = "customers/my_customer"
: erforderlich, einziger unterstützter Wert istcustomers/my_customer
spaceType = "SPACE"
: erforderlich. Der einzige unterstützte Wert istSPACE
.lastActiveTime
: Wenn Sie Ihre Anfrage filtern möchten, sodass nur inaktive Gruppenbereiche zurückgegeben werden, geben SielastActiveTime
an.
- Geben Sie den Autorisierungsbereich
- Wenn Sie die inaktiven Gruppenbereiche aus den Suchergebnissen löschen möchten, geben Sie Folgendes an:
- Geben Sie den
chat.admin.delete
-Autorisierungsbereich an. - Rufen Sie die Methode
delete()
für die RessourceSpaces
auf. - Geben Sie
useAdminAccess=true
an.
- Geben Sie den
Der folgende Code zeigt ein Beispiel dafür, wie Sie mit Administratorberechtigungen nach inaktiven Bereichen 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.py
ein: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_DATE
durch ein Datum und eine Uhrzeit im Format JJJJ-MM-TTTHH:MM:SS+HH:MM, z. B. „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 löschen
- Mitglieder eines Gruppenbereichs auflisten
- Gruppenbereiche in Google Chat als Google Workspace-Administrator verwalten
spaces.search()
-Methode