In diesem Leitfaden wird erläutert, wie Sie die
list()
Methode für die SpaceEvent Ressource der Google Chat API verwenden, um Änderungen an
Ressourcen in einem Gruppenbereich aufzulisten.
Die
SpaceEvent Ressource
stellt eine Änderung am Zielgruppenbereich dar, einschließlich untergeordneter Ressourcen des Gruppenbereichs
wie Nachrichten, Reaktionen und Mitgliedschaften. Weitere Informationen zur
Liste der unterstützten Ereignistypen und Ereignisnutzlasten finden Sie in den
eventType
und
payload
Feldern der SpaceEvent Referenzdokumentation zur Ressource.
Sie können Ereignisse bis zu 28 Tage vor dem Zeitpunkt der Anfrage auflisten. Der Server gibt Ereignisse zurück, die die neueste Version der betroffenen Ressource enthalten.
Wenn Sie beispielsweise Ereignisse zu neuen Gruppenbereichsmitgliedern auflisten, gibt der Server Membership-Ressourcen zurück, die die neuesten Mitgliedschaftsdetails enthalten. Wenn im angeforderten Zeitraum neue Mitglieder entfernt wurden, enthält die Ereignisnutzlast eine leere Membership-Ressource.
Um Ereignisse aus einem Gruppenbereich aufzulisten, muss der authentifizierte Nutzer oder die Chat-App Mitglied des Gruppenbereichs sein.
Vorbereitung
Node.js
- Ein Google Workspace-Konto für Unternehmen oder Enterprise mit Zugriff auf Google Chat.
- Richten Sie Ihre Umgebung ein:
- 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 Cloud-Clientbibliothek für Node.js.
- Erstellen Sie Anmeldedaten für den Zugriff, je nachdem, wie Sie sich in Ihrer Google Chat API
Anfrage authentifizieren möchten:
- Wenn Sie sich als Chat-Nutzer authentifizieren möchten,
erstellen Sie Anmeldedaten für die OAuth-Client-ID und speichern Sie sie als JSON-Datei mit dem Namen
credentials.jsonin Ihrem lokalen Verzeichnis. - Wenn Sie sich als Chat-App authentifizieren möchten,
erstellen Sie Anmeldedaten für das Dienstkonto und speichern Sie sie als JSON-Datei mit dem Namen
credentials.json.
- Wenn Sie sich als Chat-Nutzer authentifizieren möchten,
erstellen Sie Anmeldedaten für die OAuth-Client-ID und speichern Sie sie als JSON-Datei mit dem Namen
- Wählen Sie einen Autorisierungsbereich aus, je nachdem, ob Sie sich als Nutzer oder als die Chat-App authentifizieren möchten.
Python
- Ein Google Workspace-Konto für Unternehmen oder Enterprise mit Zugriff auf Google Chat.
- Richten Sie Ihre Umgebung ein:
- 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 Cloud-Clientbibliothek für Python.
- Erstellen Sie Anmeldedaten für den Zugriff, je nachdem, wie Sie sich in Ihrer Google Chat API
Anfrage authentifizieren möchten:
- Wenn Sie sich als Chat-Nutzer authentifizieren möchten,
erstellen Sie Anmeldedaten für die OAuth-Client-ID und speichern Sie sie als JSON-Datei mit dem Namen
credentials.jsonin Ihrem lokalen Verzeichnis. - Wenn Sie sich als Chat-App authentifizieren möchten,
erstellen Sie Anmeldedaten für das Dienstkonto und speichern Sie sie als JSON-Datei mit dem Namen
credentials.json.
- Wenn Sie sich als Chat-Nutzer authentifizieren möchten,
erstellen Sie Anmeldedaten für die OAuth-Client-ID und speichern Sie sie als JSON-Datei mit dem Namen
- Wählen Sie einen Autorisierungsbereich aus, je nachdem, ob Sie sich als Nutzer oder als die Chat-App authentifizieren möchten.
Gruppenbereichsereignisse auflisten (Nutzerauthentifizierung)
Wenn Sie Gruppenbereichsereignisse aus einem Chat-Gruppenbereich auflisten möchten, übergeben Sie Folgendes in Ihrer Anfrage:
Geben Sie einen oder mehrere Autorisierungsbereiche an, um jeden Ereignistyp in Ihrer Anfrage zu unterstützen. Wählen Sie als Best Practice den restriktivsten Bereich aus, der die Funktion Ihrer App weiterhin ermöglicht. Informationen zum Auswählen eines Bereichs finden Sie unter Authentifizierung und Autorisierung.
Rufen Sie die
ListSpaceEvents()Methode auf und übergeben Sie denfilterder aufzulistenden Ereignistypen. Sie müssen mindestens einen Ereignistyp angeben und können auch nach Datum filtern. Eine Liste der unterstützten Ereignistypen finden Sie imeventTypeFeld derSpaceEventRessource Referenzdokumentation.
Im folgenden Beispiel werden Ereignisse zu neuen Mitgliedschaften und Nachrichten in einem Gruppenbereich aufgelistet:
Node.js
Ersetzen Sie zum Ausführen dieses Beispiels SPACE_NAME durch die ID aus
dem namedes Gruppenbereichs.
Sie können die ID abrufen, indem Sie die
ListSpaces()
Methode aufrufen oder die URL des Gruppenbereichs verwenden.
Die Chat API gibt eine Liste von paginierten Liste von Gruppenbereichsereignissen zu neuen Mitgliedschaften und Nachrichten zurück.
Gruppenbereichsereignisse auflisten (Chat-App-Authentifizierung)
Für die App-Authentifizierung ist eine einmalige Administratorgenehmigung erforderlich.
Wenn Sie Gruppenbereichsereignisse aus einem Gruppenbereich mit App-Authentifizierung und der Chat REST API auflisten möchten, übergeben Sie Folgendes in Ihrer Anfrage:
- Geben Sie einen oder mehrere Autorisierungsbereiche an, um jeden Ereignistyp in Ihrer Anfrage zu unterstützen. Wählen Sie als Best Practice den restriktivsten Bereich aus, der die Funktion Ihrer App weiterhin ermöglicht. Weitere Informationen zum Auswählen eines Bereichs finden Sie unter
Authentifizierung und Autorisierung.
https://www.googleapis.com/auth/chat.app.membershipshttps://www.googleapis.com/auth/chat.app.memberships.readonlyhttps://www.googleapis.com/auth/chat.app.messages.readonlyhttps://www.googleapis.com/auth/chat.app.spaceshttps://www.googleapis.com/auth/chat.app.spaces.readonly
- Rufen Sie die
listMethode für diespaceEventsRessource auf. - Übergeben Sie den
namedes Gruppenbereichs, aus dem Nachrichten aufgelistet werden sollen. - Übergeben Sie einen
filter, um bestimmte Ereignistypen abzufragen.
Skript zum Aufrufen der Chat API schreiben
So listen Sie Gruppenbereichsereignisse mit App-Authentifizierung und der Chat REST API auf:
Python
- Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen
chat_spaceevents_list_app.py. Fügen Sie den folgenden Code in
chat_spaceevents_list_app.pyein:from google.oauth2 import service_account from apiclient.discovery import build # Define your app's authorization scopes. # Set authorization scopes based on the # event type. For example, if you are getting a space event # about a new membership, use the `chat.app.memberships` scope. # # When modifying these scopes, delete the file token.json, if it exists. SCOPES = ["https://www.googleapis.com/auth/chat.app.memberships", "https://www.googleapis.com/auth/chat.app.memberships.readonly", "https://www.googleapis.com/auth/chat.app.messages.readonly", "https://www.googleapis.com/auth/chat.app.spaces", "https://www.googleapis.com/auth/chat.app.spaces.readonly"] def main(): ''' Authenticates with Chat API using app authentication, then lists space events from a specified space. ''' # Specify service account details. creds = ( service_account.Credentials.from_service_account_file('credentials.json') .with_scopes(SCOPES) ) # 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 to list events from. # # Replace SPACE_NAME with a space name. # Obtain the space name from the spaces resource of Chat API, # or from a space's URL. parent='spaces/SPACE_NAME', # A required filter. Filters events by event type. # # Update this filter to match your requirements. filter='eventTypes:"google.workspace.chat.message.v1.created"' ).execute() # Print Chat API's response in your command line interface. print(result) if __name__ == '__main__': main()Ersetzen Sie im Code Folgendes:
SPACE_NAME: ein Gruppenbereichsname, den Sie mit der Methodespaces.listin der Chat API oder über die URL eines Gruppenbereichs abrufen können.
Erstellen Sie in Ihrem Arbeitsverzeichnis das Beispiel und führen Sie es aus:
python3 chat_spaceevents_list_app.py
Die Chat API gibt eine Liste von paginierten Liste von Gruppenbereichsereignissen zu neuen Mitgliedschaften und Nachrichten zurück.