In diesem Leitfaden wird erläutert, wie Sie mit der Methode list
der SpaceEvent
-Ressource der Google Chat API Änderungen an Ressourcen in einem Gruppenbereich auflisten.
SpaceEvent
-Ressource
stellt eine Änderung am Zielbereich dar, einschließlich der untergeordneten Ressourcen des Bereichs
wie Nachrichten, Reaktionen und Mitgliedschaften. Weitere Informationen zur
Liste der unterstützten Ereignistypen und Ereignisnutzlasten siehe eventType
und
payload
-Felder der Ressource SpaceEvent
in der Referenzdokumentation.
Sie können Ereignisse bis zu 28 Tage vor dem Zeitpunkt der Anfrage auflisten. Server
gibt Ereignisse zurück, die die neueste Version der betroffenen Ressource enthalten.
Wenn Sie beispielsweise Ereignisse zu neuen Mitgliedern des Gruppenbereichs auflisten, gibt der Server
Membership
Ressourcen, die die neuesten Mitgliedschaftsdetails enthalten. Falls neu
Mitglieder im angeforderten Zeitraum entfernt wurden, enthält die Ereignisnutzlast ein
leere Membership
-Ressource.
Um diese Methode aufzurufen, müssen Sie user Authentifizierung. Damit Ereignisse aus einem Gruppenbereich aufgelistet werden können, muss der authentifizierte Nutzer Mitglied des Gruppenbereichs sein.
Vorbereitung
Python
- Unternehmen Google Workspace-Konto 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, und eine Beschreibung der Chat App.
-
Erstellen Sie OAuth-Client-ID-Anmeldedaten für eine Desktopanwendung. Um das Beispiel in diesem
sollten Sie die Anmeldedaten als JSON-Datei mit dem Namen
client_secrets.json
in Ihrem lokales Verzeichnis.
- Wählen Sie einen Autorisierungsbereich aus, der die Nutzerauthentifizierung unterstützt.
Weltraumereignisse auflisten
So listen Sie Gruppenbereichsereignisse aus einem Chatbereich auf:
- Rufen Sie die Methode
list
auf. amSpaceEvent
Ressource - Geben Sie die Ereignistypen an, die aufgelistet werden sollen, indem Sie die
filter
ein. Sie müssen mindestens einen Ereignistyp angeben. Sie können auch nach folgenden Kriterien filtern: Datum. Eine Liste der unterstützten Ereignistypen finden Sie im Abschnitt zumeventType
-Feld. - Mit Nutzer Authentication (Authentifizierung) einen oder mehrere Autorisierungsbereiche, um jeden Ereignistyp in Ihrer Anfrage zu unterstützen. Wählen Sie als Best Practice den restriktivsten Bereich aus, dass Ihre App funktioniert. Informationen zum Auswählen eines Umfangs finden Sie in der Authentifizierung und Autorisierung – Übersicht
Im folgenden Codebeispiel werden Ereignisse zu neuen Mitgliedschaften und Nachrichten in einem Gruppenbereich aufgelistet.
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_space_event_list.py
. Fügen Sie den folgenden Code in
chat_space_event_list.py
ein:"""Lists SpaceEvent resources from the Chat API.""" from google_auth_oauthlib.flow import InstalledAppFlow from googleapiclient.discovery import build # Define your app's authorization scopes. # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.memberships.readonly", "https://www.googleapis.com/auth/chat.messages.readonly"] # 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, ) # Use the service endpoint to call Chat API. result = chat.spaces().spaceEvents().list( # The space from which to list events. # # Replace SPACE with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE', # A required filter. Filters and returns events about new memberships and messages filter='event_types:"google.workspace.chat.membership.v1.created" OR event_types:"google.workspace.chat.message.v1.created"' ).execute() # Prints details about the created space events. print(result)
Ersetzen Sie im Code Folgendes:
SPACE
: Der Name eines Gruppenbereichs, den Sie über diespaces.list
-Methode in der Chat API oder über die URL eines Gruppenbereichs abrufen können.
Erstellen und führen Sie das Beispiel in Ihrem Arbeitsverzeichnis aus:
python3 chat_space_event_list.py
Die Chat API gibt eine Liste
SpaceEvent
Ressourcen
Termine zu neuen Mitgliedschaften und Nachrichten.
Paginierung anpassen
Übergeben Sie optional die folgenden Abfrageparameter, um die Paginierung anzupassen:
pageSize
: Die maximale Anzahl derSpaceEvent
-Ressourcen, die zurückgegeben werden sollen. Der Dienst gibt möglicherweise weniger als diesen Wert zurück. Bei negativen Werten wird der FehlerINVALID_ARGUMENT
zurückgegeben.pageToken
: Seitentoken, das von einem vorherigen Aufruf einer Gruppenbereichsereignisliste erhalten wurde. Geben Sie dieses Token an, um die nachfolgende Seite abzurufen. Beim Paginieren Filterwert muss mit dem Aufruf übereinstimmen, der das Seitentoken bereitgestellt hat. Wenn Sie einen anderen Wert übergeben, kann das zu unerwarteten Ergebnissen führen.