Termine aus einem Google Chat-Bereich auflisten

In dieser Anleitung wird erläutert, wie Sie die Methode list für die Ressource SpaceEvent der Google Chat API verwenden, um Änderungen an Ressourcen in einem Gruppenbereich aufzulisten.

Die Ressource SpaceEvent stellt eine Änderung am Zielbereich dar, einschließlich der untergeordneten Ressourcen des Gruppenbereichs wie Nachrichten, Reaktionen und Mitgliedschaften. Weitere Informationen zur Liste der unterstützten Ereignistypen und Ereignisnutzlasten finden Sie in den Feldern eventType und payload der Referenzdokumentation zur SpaceEvent-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 Mitgliedern des Gruppenbereichs auflisten, gibt der Server Membership-Ressourcen zurück, die die aktuellen Details der Mitgliedschaft enthalten. Wenn während des angeforderten Zeitraums neue Mitglieder entfernt wurden, enthält die Ereignisnutzlast eine leere Membership-Ressource.

Für den Aufruf dieser Methode muss die Nutzerauthentifizierung verwendet werden. Damit Ereignisse aus einem Gruppenbereich aufgelistet werden können, muss der authentifizierte Nutzer Mitglied des Gruppenbereichs sein.

Voraussetzungen

Python

  • Python 3.6 oder höher
  • Das Paketverwaltungstool pip
  • Die aktuellen Google-Clientbibliotheken für Python. Führen Sie den folgenden Befehl in der Befehlszeile aus, um sie zu installieren oder zu aktualisieren:

    pip3 install --upgrade google-api-python-client google-auth-oauthlib
    
  • Ein Google Cloud-Projekt, in dem die Google Chat API aktiviert und konfiguriert ist. Eine entsprechende Anleitung finden Sie unter Google Chat-App erstellen.
  • Für die Chat-App konfigurierte Autorisierung. Wenn Sie SpaceEvent-Ressourcen auflisten, werden die folgenden Authentifizierungsmethoden unterstützt:

Gruppenbereiche auflisten

So listen Sie Gruppenbereiche aus einem Chatbereich auf:

  • Rufen Sie die Methode list für die Ressource SpaceEvent auf.
  • Geben Sie über das Feld filter an, welche Ereignistypen aufgelistet werden sollen. Sie müssen mindestens einen Ereignistyp angeben. Außerdem können Sie nach Datum filtern. Eine Liste der unterstützten Ereignistypen finden Sie unter Feld eventType.
  • Geben Sie für die Nutzerauthentifizierung einen oder mehrere Autorisierungsbereiche an, um jeden Ereignistyp in Ihrer Anfrage zu unterstützen. Es hat sich bewährt, den restriktivsten Bereich auszuwählen, bei dem Ihre Anwendung noch funktionieren kann. Informationen zum Auswählen eines Bereichs finden Sie in der Authentifizierung und Autorisierung – Übersicht.

Im folgenden Codebeispiel werden Ereignisse zu neuen Mitgliedschaften und Nachrichten in einem Gruppenbereich aufgelistet.

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen chat_space_event_list.py.
  2. 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)
    
  3. Ersetzen Sie im Code Folgendes:

    • SPACE: Der Name eines Gruppenbereichs, den Sie über die Methode spaces.list in der Chat API oder aus der URL eines Gruppenbereichs abrufen können.
  4. Erstellen Sie das Beispiel in Ihrem Arbeitsverzeichnis und führen Sie es aus:

    python3 chat_space_event_list.py
    

Die Chat API gibt eine Liste von SpaceEvent-Ressourcenereignissen zu neuen Mitgliedschaften und Nachrichten zurück.

Paginierung anpassen

Übergeben Sie optional die folgenden Abfrageparameter, um die Paginierung anzupassen:

  • pageSize: Die maximale Anzahl von SpaceEvent-Ressourcen, die zurückgegeben werden sollen. Der Dienst gibt möglicherweise weniger als diesen Wert zurück. Negative Werte geben den Fehler INVALID_ARGUMENT zurück.
  • pageToken: Ein Seitentoken, das von einem vorherigen Listenaufruf für Gruppenbereiche mit einer Liste empfangen wurde. Geben Sie dieses Token an, um die nachfolgende Seite abzurufen. Beim Paginieren sollte der Filterwert mit dem Aufruf übereinstimmen, der das Seitentoken bereitgestellt hat. Die Übergabe eines anderen Werts kann zu unerwarteten Ergebnissen führen.