In diesem Leitfaden wird erläutert, wie ein Google Workspace-Administrator die Methode search()
auf einer Space
-Ressource der Google Chat API 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. Namensgruppenbereiche sind persistente Gruppenbereiche, in denen Nutzer Nachrichten senden, Dateien teilen und zusammenarbeiten können. Die Chat API kann nicht zum Verwalten von Direktnachrichten oder Gruppenchats verwendet werden.
Die Ressource Space
ist ein Ort, an dem Nutzer und Chat-Apps Nachrichten senden, Dateien teilen und zusammenarbeiten können. Es gibt verschiedene Arten von Gruppenbereichen:
- Direktnachrichten (DMs) sind Unterhaltungen zwischen zwei Nutzern oder einem Nutzer und einer Chat-App.
- Gruppenchats sind Unterhaltungen zwischen drei oder mehr Nutzern und Chat-Apps.
- Namensgruppenbereiche sind persistente Gruppenbereiche, in denen Nutzer Nachrichten senden, Dateien teilen und zusammenarbeiten können.
Als Google Workspace-Administrator können Sie mit der Chat API auf folgende Weise nach benannten Gruppenbereichen in Ihrer Organisation suchen und diese 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 jedes Gruppenbereichs abrufen, z. B. Erstellungsdatum, Datum der letzten Aktivität, Anzahl der Mitglieder, Status der Einstellung für die Verlaufsfunktion und Möglichkeit, externe Gäste einzuladen. - Inaktive Gruppenbereiche finden und löschen Mit der Methode
search()
können Sie Gruppenbereiche 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 Gruppenbereiche finden und löschen. - Eine Liste von Gruppenbereichen anhand von Suchkriterien exportieren Mit der Methode
search()
können Sie eine Liste der Gruppenbereiche abrufen, die die inquery
angegebenen Kriterien erfüllen, und die Ergebnisse zur Analyse in eine CSV-Datei exportieren. - Verwaltungsmitarbeiter von Gruppenbereichen finden und kontaktieren Mit der Methode
search()
können Sie eine Liste aller Gruppenbereiche in einer Organisation abrufen und dann mit der Methodemembers.list()
eine Liste aller Administratoren des Gruppenbereichs abrufen. - Gruppenbereiche ohne Administratoren finden Mit der Methode
search()
können Sie eine Liste aller Gruppenbereiche in einer Organisation abrufen und dann mit der Methodemembers.list()
eine Liste der Gruppenbereiche abrufen, die keine Administratoren haben.
Vorbereitung
Python
- Ein Google Workspace-Konto für Unternehmen oder Organisationen mit Zugriff auf Google Chat.
- Richten Sie Ihre Umgebung ein:
- Google Cloud-Projekt erstellen
- Konfigurieren Sie den OAuth-Zustimmungsbildschirm.
- 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.
-
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
client_secrets.json
in Ihrem lokalen Verzeichnis.
- Wählen Sie einen Autorisierungsbereich aus, der die Nutzerauthentifizierung unterstützt.
- Sie benötigen die Administratorberechtigung 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 in Ihrer Anfrage Folgendes angeben:
- 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:
- Suchen Sie nach Gruppenbereichen, indem Sie die Methode
search()
aufrufen. - Inaktive Gruppenbereiche in Ihrer Organisation finden und löschen: Rufen Sie die Methode
search()
auf, um eine Liste der inaktiven Gruppenbereiche abzurufen, und dann die Methodedelete()
, um sie zu löschen.
In Ihrer Organisation nach Gruppenbereichen suchen
In diesem Beispiel wird erläutert, wie Google Workspace-Administratoren mithilfe der Methode search()
der Ressource Space
der Chat API nach Gruppenbereichen in einer Organisation suchen können, die bestimmten Kriterien entsprechen.
Wenn Sie die search()
-Methode mit Nutzerauthentifizierung und Administratorberechtigungen aufrufen möchten, müssen Sie in der Anfrage Folgendes 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: Eine oder mehrere zusätzliche Suchanfragen, um die Suche im Gruppenbereich weiter zu filtern, z. B. nach Keywords in Anzeigenamen (
displayName
), dem Erstellungsdatum (createTime
) oder nach Aktivitäten im Gruppenbereich (lastActiveTime
).
Im folgenden Code wird ein Beispiel für die Suche nach Gruppenbereichen mit einem Anzeigenamen gezeigt, der „Hallo“ und „Welt“ 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 in
search_spaces_for_hello_world.py
den folgenden Code 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( 'client_secrets.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 und führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
python3 search_spaces_for_hello_world.py
Inaktive Gruppenbereiche suchen und löschen
In diesem Beispiel wird erläutert, wie Google Workspace-Administratoren mit der Methode search()
der Ressource Space
der Chat API inaktive Gruppenbereiche finden und dann mit der Methode delete()
und dem Parameter useAdminAccess
löschen können.
Inaktive Google Chat-Gruppenbereiche, die nicht mehr aktiv genutzt werden, können wertvollen Speicherplatz belegen und die Benutzeroberfläche überladen. Mit der Methode search()
können Administratoren Gruppenbereiche finden, die seit einem bestimmten Datum und einer bestimmten Uhrzeit nicht mehr verwendet wurden, z. B. vor zwei Monaten. Nachdem die Liste der Gruppenbereiche aufgelistet wurde, können Administratoren Maßnahmen ergreifen, z. B. sie aktualisieren oder löschen.
Wenn Sie nach einer Liste inaktiver Gruppenbereiche suchen und diese dann mit Nutzerauthentifizierung und Administratorberechtigungen löschen möchten, geben Sie Folgendes in Ihren Anfragen an:
- Wenn Sie nach inaktiven Gruppenbereichen suchen möchten, geben Sie Folgendes an:
- 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 Gruppenbereiche bestimmt werden. - 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
lastActiveTime
: Wenn Sie Ihre Anfrage so filtern möchten, dass 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 Autorisierungsbereich für
chat.admin.delete
an. - Rufen Sie die Methode
delete()
für die RessourceSpaces
auf. - Geben Sie
useAdminAccess=true
an.
- Geben Sie den Autorisierungsbereich für
Im folgenden Code wird gezeigt, wie Sie mit Administratorrechten nach inaktiven Gruppenbereichen suchen und diese löschen:
Python
Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
find_and_delete_inactive_spaces.py
.Fügen Sie in
find_and_delete_inactive_spaces.py
den folgenden Code 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( 'client_secrets.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. Beispiel: „2024-06-01T00:00:00+00:00“.Erstellen und führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
python3 find_and_delete_inactive_spaces.py
Weitere Informationen
- Gruppenbereiche löschen
- Mitglieder in einem Gruppenbereich auflisten
- Chatbereiche als Google Workspace-Administrator verwalten
spaces.search()
-Methode