Google Workspace-Abo erstellen

Auf dieser Seite wird erläutert, wie Sie mit der Google Workspace Events API ein Abo für eine Google Workspace-Ressource erstellen. Mit einem Google Workspace-Abo kann Ihre Anwendung Informationen zu Google Workspace-Ereignissen erhalten, die Änderungen an einer Google Workspace-Ressource darstellen. Informationen dazu, welche Ressourcen und Ereignistypen die Google Workspace Events API unterstützt, finden Sie in der Übersicht zur Google Workspace Events API.

Auf dieser Seite werden die folgenden Schritte zum Erstellen eines Google Workspace-Abos beschrieben:

  1. die Umgebung einrichten
  2. Erstellen Sie ein Google Cloud Pub/Sub-Thema und abonnieren Sie es. Dieses Thema wird als Endpunkt verwendet, um Google Workspace-Ereignisse zu empfangen.
  3. Rufen Sie die Methode create() der Google Workspace Events API für die Ressource Subscription auf.
  4. Testen Sie Ihr Google Workspace-Abo, um zu prüfen, ob Ihr Pub/Sub-Thema Ereignisse empfängt, die Sie abonniert haben.
  5. Konfigurieren Sie optional, wie Ereignisse per Push an einen Endpunkt für Ihre Anwendung übertragen werden, damit die Anwendung das Ereignis verarbeiten und bei Bedarf Maßnahmen ergreifen kann.

Voraussetzungen

Apps Script

  • So verwenden Sie die Google Cloud CLI-Befehle in dieser Anleitung:
    1. Installieren Sie die Google Cloud CLI.
    2. Führen Sie den folgenden Code aus, um die gcloud-Befehlszeile zu initialisieren:
    3.   gcloud init
        
  • Eine Zielressource für das Abo:
    • Zum Abonnieren eines Google Chat-Bereichs ist dies ein Chatbereich, in dem der authentifizierte Nutzer Mitglied ist. Der Nutzer muss über sein Google Workspace- oder Google-Konto Mitglied des Gruppenbereichs sein. Nutzer, die über eine Google-Gruppe Mitglied eines Gruppenbereichs sind, werden nicht unterstützt.
    • Ein Konferenzraum, bei dem der authentifizierte Nutzer der Inhaber ist, um einen Google Meet-Konferenzraum zu abonnieren Informationen zum Erstellen eines Gruppenbereichs finden Sie in der Google Meet-Dokumentation unter Mit Konferenzräumen arbeiten.
    • Die user-ID für die Cloud Identity API, um einen Google Meet-Nutzer zu abonnieren
  • Ein Google Cloud-Projekt mit aktivierter Abrechnung. Für Chatabos müssen Sie auch die Chat API in Ihrem Cloud-Projekt aktivieren und die Felder App-Name, Avatar-URL und Beschreibung konfigurieren. Weitere Informationen finden Sie unter Google Chat-App erstellen.
  • Erfordert eine Nutzerauthentifizierung mit dem für die Anwendung konfigurierten OAuth-Zustimmungsbildschirm. Wenn Sie den Zustimmungsbildschirm konfigurieren, müssen Sie einen Bereich angeben, der jeden Ereignistyp für das Abo unterstützt. Informationen zum Konfigurieren des Zustimmungsbildschirms und zum Identifizieren der erforderlichen Bereiche finden Sie unter Bereiche auswählen.
  • Ein Apps Script-Projekt:
    • Verwenden Sie Ihr Google Cloud-Projekt anstelle des von Apps Script automatisch erstellten Standardprojekts.
    • Für alle Bereiche, die Sie zum Konfigurieren des OAuth-Zustimmungsbildschirms hinzugefügt haben, müssen Sie die Bereiche auch der Datei appsscript.json in Ihrem Apps Script-Projekt hinzufügen. Beispiel:
    • "oauthScopes": [
        "https://www.googleapis.com/auth/chat.messages.readonly"
      ]
          
    • Aktivieren Sie den erweiterten Dienst Google Workspace Events.

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
      
  • So verwenden Sie die Google Cloud CLI-Befehle in dieser Anleitung:
    1. Installieren Sie die Google Cloud CLI.
    2. Führen Sie den folgenden Code aus, um die gcloud-Befehlszeile zu initialisieren:
    3.   gcloud init
        
  • Eine Zielressource für das Abo:
    • Zum Abonnieren eines Google Chat-Bereichs ist dies ein Chatbereich, in dem der authentifizierte Nutzer Mitglied ist. Der Nutzer muss über sein Google Workspace- oder Google-Konto Mitglied des Gruppenbereichs sein. Nutzer, die über eine Google-Gruppe Mitglied eines Gruppenbereichs sind, werden nicht unterstützt.
    • Ein Konferenzraum, bei dem der authentifizierte Nutzer der Inhaber ist, um einen Google Meet-Konferenzraum zu abonnieren Informationen zum Erstellen eines Gruppenbereichs finden Sie in der Google Meet-Dokumentation unter Mit Konferenzräumen arbeiten.
    • Die user-ID für die Cloud Identity API, um einen Google Meet-Nutzer zu abonnieren
  • Ein Google Cloud-Projekt mit aktivierter Abrechnung. Für Chatabos müssen Sie auch die Chat API in Ihrem Cloud-Projekt aktivieren und die Felder App-Name, Avatar-URL und Beschreibung konfigurieren. Weitere Informationen finden Sie unter Google Chat-App erstellen.
  • Erfordert eine Nutzerauthentifizierung mit dem für die Anwendung konfigurierten OAuth-Zustimmungsbildschirm. Wenn Sie den Zustimmungsbildschirm konfigurieren, müssen Sie einen Bereich angeben, der jeden Ereignistyp für das Abo unterstützt. Informationen zum Konfigurieren des Zustimmungsbildschirms und zum Identifizieren der erforderlichen Bereiche finden Sie unter Bereiche auswählen.

Umgebung einrichten

Im folgenden Abschnitt wird erläutert, wie Sie Ihre Umgebung einrichten, bevor Sie ein Google Workspace-Abo erstellen.

Google Workspace Events API und Google Cloud Pub/Sub API aktivieren

Bevor Sie Google APIs verwenden können, müssen Sie sie in einem Google Cloud-Projekt aktivieren. Sie können eine oder mehrere APIs in einem einzelnen Google Cloud-Projekt aktivieren.

Google Cloud Console

Öffnen Sie in der Google Cloud Console das Google Cloud-Projekt für Ihre Anwendung und aktivieren Sie die Google Workspace Events API und die Pub/Sub API:

APIs aktivieren

gcloud

  1. Melden Sie sich in Ihrem Arbeitsverzeichnis in Ihrem Google-Konto an:

    gcloud auth login
    
  2. Legen Sie als Projekt das Cloud-Projekt für Ihre Anwendung fest:

    gcloud config set project PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die Projekt-ID des Cloud-Projekts für Ihre Anwendung.

  3. Aktivieren Sie die Google Workspace Events API und die Google Cloud Pub/Sub API:

    gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
    

Anmeldedaten für OAuth-Client-ID erstellen

Wählen Sie Ihren Anwendungstyp aus, um spezifische Anweisungen zum Erstellen einer OAuth-Client-ID zu erhalten:

Webanwendung

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > Webanwendung.
  4. Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Fügen Sie autorisierte URIs für Ihre App hinzu:
    • Clientseitige Apps (JavaScript): Klicken Sie unter Autorisierte JavaScript-Quellen auf URI hinzufügen. Geben Sie dann einen URI ein, der für Browseranfragen verwendet werden soll. Hiermit werden die Domains identifiziert, von denen deine Anwendung API-Anfragen an den OAuth 2.0-Server senden kann.
    • Serverseitige Apps (z. B. Java, Python und andere): Klicken Sie unter Autorisierte Weiterleitungs-URIs auf URI hinzufügen. Geben Sie dann einen Endpunkt-URI ein, an den der OAuth 2.0-Server Antworten senden kann.
  6. Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.

    Notieren Sie sich die Client-ID. Clientschlüssel werden nicht für Webanwendungen verwendet.

  7. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter OAuth 2.0-Client-IDs angezeigt.

Android

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > Android.
  4. Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Geben Sie im Feld „Paketname“ den Paketnamen aus der AndroidManifest.xml-Datei ein.
  6. Geben Sie im Feld „SHA-1-Zertifikat-Fingerabdruck“ den generierten SHA-1-Zertifikat-Fingerabdruck ein.
  7. Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird mit Ihrer neuen Client-ID angezeigt.
  8. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter "OAuth 2.0-Client-IDs" angezeigt.

iOS

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > iOS.
  4. Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Geben Sie im Feld „Bundle-ID“ die Bundle-ID ein, die in der Datei Info.plist der App aufgeführt ist.
  6. Optional: Wenn Ihre App im Apple App Store angezeigt wird, geben Sie die App Store-ID ein.
  7. Optional: Geben Sie in das Feld „Team-ID“ den eindeutigen zehnstelligen String ein, der von Apple generiert und Ihrem Team zugewiesen wurde.
  8. Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.
  9. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter "OAuth 2.0-Client-IDs" angezeigt.

Chrome App

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > Chrome-App.
  4. Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Geben Sie im Feld „Anwendungs-ID“ den eindeutigen 32-stelligen ID-String Ihrer App ein. Sie finden diesen ID-Wert in der Chrome Web Store-URL Ihrer App und im Chrome Web Store-Entwickler-Dashboard.
  6. Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.
  7. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter "OAuth 2.0-Client-IDs" angezeigt.

Desktopanwendung

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > Desktop-App.
  4. Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.
  6. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter OAuth 2.0-Client-IDs angezeigt.

Fernseher und Geräte mit begrenzter Eingabe

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > Fernseher und Geräte mit begrenzter Eingabe.
  4. Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.
  6. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter "OAuth 2.0-Client-IDs" angezeigt.

Universal Windows Platform (UWP)

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
  3. Klicken Sie auf Anwendungstyp > Universelle Windows-Plattform (UWP).
  4. Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
  5. Geben Sie im Feld „Store-ID“ den eindeutigen Wert der 12-stelligen Microsoft Store-ID Ihrer App ein. Sie finden diese ID in der Microsoft Store-URL Ihrer App und im Partnercenter.
  6. Klicken Sie auf Erstellen. Der Bildschirm "OAuth-Client erstellt" wird mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.
  7. Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter "OAuth 2.0-Client-IDs" angezeigt.

Clientschlüssel-JSON-Datei herunterladen

Die Clientschlüsseldatei ist eine JSON-Darstellung der OAuth-Client-ID-Anmeldedaten, auf die deine Anwendung bei der Bereitstellung von Anmeldedaten verweisen kann.

  1. Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.

    Zu den Anmeldedaten

  2. Klicken Sie unter OAuth 2.0-Client-IDs auf die Client-ID, die Sie erstellt haben.

  3. Klicken Sie auf JSON herunterladen.

  4. Speichern Sie die Datei als client_secrets.json.

Pub/Sub-Thema erstellen und abonnieren

In diesem Abschnitt erstellen Sie ein Pub/Sub-Thema und ein Abo dafür. Das Pub/Sub-Thema dient als Benachrichtigungsendpunkt, an dem Ihr Google Workspace-Abo Ereignisse empfängt.

Weitere Informationen zum Erstellen und Verwalten von Pub/Sub-Themen finden Sie in der Pub/Sub-Dokumentation.

So erstellen und abonnieren Sie ein Pub/Sub-Thema:

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite „Pub/Sub“ auf:

    Zu Google Cloud Pub/Sub

    Achten Sie darauf, dass das Cloud-Projekt für Ihre Anwendung ausgewählt ist.

  2. Klicken Sie auf Thema erstellen und gehen Sie so vor:

    1. Geben Sie einen Namen für das Thema ein, z. B. workspace-events-topic.
    2. Lassen Sie Standardabo hinzufügen ausgewählt. Pub/Sub benennt dieses Standardabo ähnlich dem Namen Ihres Themas, z. B. workspace-events-topic-sub.
    3. Optional: Aktualisieren oder konfigurieren Sie zusätzliche Eigenschaften für das Thema.
  3. Klicken Sie auf Erstellen. Ihr vollständiger Themenname hat das Format projects/PROJECT_ID/topics/TOPIC_ID. Sie verwenden diesen vollständigen Namen in einem späteren Schritt.

  4. Gewähren Sie Zugriff, um Pub/Sub-Nachrichten zu Ihrem Thema zu veröffentlichen:

    1. Öffnen Sie auf der Seite Ihres Themas in der Seitenleiste den Tab Berechtigungen.
    2. Klicken Sie auf Hauptkonto hinzufügen.
    3. Fügen Sie im Feld Hauptkonten hinzufügen das Dienstkonto für die Google Workspace-Anwendung hinzu, über die Ereignisse an Ihr Abo gesendet werden:
      1. Für Chatereignisse: chat-api-push@system.gserviceaccount.com.
      2. Für Meet-Termine: meet-api-event-push@system.gserviceaccount.com.
    4. Wählen Sie im Menü Rollen zuweisen die Option Pub/Sub Publisher aus.
    5. Klicken Sie auf Speichern. Es kann einige Minuten dauern, bis die Berechtigungen für Ihr Thema aktualisiert sind.

gcloud

  1. Erstellen Sie in Ihrem Cloud-Projekt mit dem folgenden Befehl ein Thema:

    gcloud pubsub topics create TOPIC_ID
    

    Ersetzen Sie TOPIC_ID durch eine eindeutige ID für Ihr Thema, z. B. workspace-events-topic.

    Die Ausgabe zeigt den vollständigen Themennamen im Format projects/PROJECT_ID/topics/TOPIC_ID an. Notieren Sie sich den Namen und achten Sie darauf, dass der Wert für PROJECT_ID die Cloud-Projekt-ID für Ihre Anwendung ist. Sie verwenden den Namen des Themas im folgenden Schritt und um das Google Workspace-Abo später zu erstellen.

  2. Gewähren Sie Zugriff, um Nachrichten zu Ihrem Thema zu veröffentlichen:

    gcloud pubsub topics add-iam-policy-binding TOPIC_NAME --member='serviceAccount:GOOGLE_WORKSPACE_APPLICATION' --role='roles/pubsub.publisher'
    

    Ersetzen Sie Folgendes:

    • TOPIC_NAME: Der vollständige Themenname, bei dem es sich um die Ausgabe aus dem vorherigen Schritt handelt. Formatiert als projects/PROJECT_ID/topics/TOPIC_ID.
    • GOOGLE_WORKSPACE_APPLICATION: Die Google Workspace-Anwendung, die Ereignisse an Ihr Abo senden muss:

      • Verwenden Sie chat-api-push@system.gserviceaccount.com, um Ereignisse von Google Chat zu empfangen.
      • Wenn Sie Termine von Meet erhalten möchten, verwenden Sie meet-api-event-push@system.gserviceaccount.com.

    Es kann einige Minuten dauern, bis die Berechtigungen für Ihr Thema aktualisiert sind.

  3. Erstellen Sie ein Pub/Sub-Abo für das Thema:

     gcloud pubsub subscriptions create SUBSCRIPTION_NAME --topic=TOPIC_NAME
    

    Ersetzen Sie Folgendes:

    • SUBSCRIPTION_NAME: Ein Name für Ihr Abo, z. B. workspace-events-subscription.
    • TOPIC_NAME: Der Name des Themas, das Sie im vorherigen Schritt erstellt haben.

Google Workspace-Abo erstellen

In diesem Abschnitt verwenden Sie die Methode subscriptions.create() der Google Workspace Events API, um eine Subscription-Ressource zu erstellen. Sie geben die folgenden Felder an:

  • targetResource: Eine Google Workspace-Ressource, die auf Ereignisse überwacht werden soll, z. B. ein Chatbereich.
  • eventTypes: ein Array mit einem oder mehreren Ereignistypen, die Sie über die Ressource erhalten möchten. Wenn Ihre App beispielsweise nur über neue Nachrichten informiert werden muss, die in einem Chatbereich gepostet wurden, kann sie einfach Ereignisse zu erstellten Nachrichten abonnieren.
  • notificationEndpoint: Ein Benachrichtigungsendpunkt, an dem über Ihr Google Workspace-Abo Ereignisse gesendet werden. Sie verwenden das Pub/Sub-Thema, das Sie im vorherigen Abschnitt erstellt haben.
  • payloadOptions: Optionen zum Festlegen, wie viele Ressourcendaten in die Ereignisnutzlast aufgenommen werden sollen. Diese Konfiguration wirkt sich auf die Ablaufzeit Ihres Abos aus. Weitere Informationen finden Sie unter Ereignisdaten.

So erstellen Sie ein Google Workspace-Abo:

Apps Script

  1. Erstellen Sie in Ihrem Apps Script-Projekt eine neue Skriptdatei mit dem Namen createSubscription und fügen Sie den folgenden Code hinzu:

    function createSubscription() {
      // The Google Workspace resource to monitor for events.
      const targetResource = 'TARGET_RESOURCE';
    
      // The types of events to receive.
      const eventTypes = [EVENT_TYPES];
    
      // The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
      const pubsubTopic = 'TOPIC_NAME';
    
      // Whether to include resource data or not.
      const resourceData = RESOURCE_DATA;
    
      // Call the Workspace Events API using the advanced service.
      const response = WorkspaceEvents.Subscriptions.create({
        targetResource: targetResource,
        eventTypes: eventTypes,
        notificationEndpoint: {
          pubsubTopic: pubsubTopic,
        },
        payloadOptions: {
          includeResource: resourceData
        }
      });
      console.log(response);
    }
    

    Ersetzen Sie Folgendes:

    • TARGET_RESOURCE: Die Google Workspace-Ressource, die Sie abonnieren, im vollständigen Ressourcennamen. Wenn Sie beispielsweise einen Google Chat-Bereich mit der Gruppenbereichs-ID AAAABBBB abonnieren möchten, verwenden Sie //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: Einer oder mehrere Ereignistypen, die Sie in der Zielressource abonnieren möchten. Verwenden Sie als Array aus Strings wie 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: Der vollständige Name des Pub/Sub-Themas, das Sie in Ihrem Cloud-Projekt erstellt haben. Formatiert als projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: Ein boolescher Wert, der angibt, ob die Nutzlast des Abos Ressourcendaten enthält:

      • True: Beinhaltet alle Ressourcendaten. Wenn Sie einschränken möchten, welche Felder enthalten sein sollen, fügen Sie das Feld fieldMask hinzu und geben Sie mindestens ein Feld für die geänderte Ressource an. Es werden nur Abos für Chat-Ressourcen unterstützt, einschließlich Ressourcendaten.
      • False: Schließt Ressourcendaten aus.
  2. Führen Sie zum Erstellen des Google Workspace-Abos die Funktion createSubscription in Ihrem Apps Script-Projekt aus.

Python

  1. Erstellen Sie in Ihrem Arbeitsverzeichnis eine Datei mit dem Namen create_subscription.py und fügen Sie den folgenden Code hinzu:

    """Create subscription."""
    
    from google_auth_oauthlib.flow import InstalledAppFlow
    from googleapiclient.discovery import build
    
    # Specify required scopes.
    SCOPES = [SCOPES]
    
    # Authenticate with Google Workspace and get user authentication.
    flow = InstalledAppFlow.from_client_secrets_file('client_secrets.json', SCOPES)
    CREDENTIALS = flow.run_local_server()
    
    # The Google Workspace resource to monitor for events.
    TARGET_RESOURCE = 'TARGET_RESOURCE'
    
    # The types of events to receive.
    EVENT_TYPES = [EVENT_TYPES]
    
    # The endpoint to deliver events to, such as a Google Cloud Pub/Sub topic.
    TOPIC = 'TOPIC_NAME'
    
    # Call the Workspace Events API using the service endpoint.
    service = build(
        'workspaceevents',
        'v1',
        credentials=CREDENTIALS,
    )
    
    BODY = {
        'target_resource': TARGET_RESOURCE,
        'event_types': EVENT_TYPES,
        'notification_endpoint': {'pubsub_topic': TOPIC},
        'payload_options': {'include_resource': RESOURCE_DATA},
    }
    response = service.subscriptions().create(body=BODY).execute()
    print(response)
    

    Ersetzen Sie Folgendes:

    • SCOPES: Ein oder mehrere OAuth-Bereiche, die jeden Ereignistyp für das Abo unterstützen. Formatiert als String-Array. Trennen Sie mehrere Bereiche durch Kommas. Beispiel: 'https://www.googleapis.com/auth/chat.spaces.readonly', 'https://www.googleapis.com/auth/chat.memberships.readonly'
    • TARGET_RESOURCE: Die Google Workspace-Ressource, die Sie abonnieren, im vollständigen Ressourcennamen. Wenn Sie beispielsweise einen Google Chat-Bereich mit der Gruppenbereichs-ID AAAABBBB abonnieren möchten, verwenden Sie //chat.googleapis.com/spaces/AAAABBBB.
    • EVENT_TYPES: Einer oder mehrere Ereignistypen, die Sie in der Zielressource abonnieren möchten. Verwenden Sie als Array aus Strings wie 'google.workspace.chat.message.v1.created'.
    • TOPIC_NAME: Der vollständige Name des Pub/Sub-Themas, das Sie in Ihrem Cloud-Projekt erstellt haben. Formatiert als projects/PROJECT_ID/topics/TOPIC_ID.
    • RESOURCE_DATA: Ein boolescher Wert, der angibt, ob die Nutzlast des Abos Ressourcendaten enthält:

      • True: Beinhaltet alle Ressourcendaten. Wenn Sie einschränken möchten, welche Felder enthalten sein sollen, fügen Sie das Feld fieldMask hinzu und geben Sie mindestens ein Feld für die geänderte Ressource an. Es werden nur Abos für Chat-Ressourcen unterstützt, einschließlich Ressourcendaten.
      • False: Schließt Ressourcendaten aus.
  2. Führen Sie in Ihrem Terminal den folgenden Befehl aus, um das Google Workspace-Abo zu erstellen:

    python3 create_subscription.py
    

Die Google Workspace Events API gibt einen abgeschlossenen Vorgang mit langer Ausführungszeit zurück, der die Instanz der von Ihnen erstellten Ressource Subscription enthält.

Google Workspace-Abo testen

Wenn du testen möchtest, ob du Google Workspace-Ereignisse erhältst, kannst du ein Ereignis auslösen und Nachrichten an das Pub/Sub-Abo abrufen.

So testen Sie Ihr Google Workspace-Abo:

Google Cloud Console

  1. Löst mindestens einen Ereignistyp in der Zielressource Ihres Google Workspace-Abos aus. Wenn Sie beispielsweise neue Nachrichten in einem Chatbereich abonniert haben, posten Sie eine Nachricht im Gruppenbereich.

  2. Rufen Sie in der Google Cloud Console die Seite „Pub/Sub“ auf:

    Zu Pub/Sub

    Achten Sie darauf, dass das Cloud-Projekt für Ihre Anwendung ausgewählt ist.

  3. Klicken Sie im Menü Pub/Sub auf Abos.

  4. Suchen Sie in der Tabelle nach dem Pub/Sub-Abo für Ihr Thema und klicken Sie auf den Namen des Abos.

  5. Klicken Sie auf den Tab Nachrichten.

  6. Klicken Sie auf Pull. Es kann einige Minuten dauern, bis ein Ereignis eine Pub/Sub-Nachricht generiert.

gcloud

  1. Löst mindestens einen Ereignistyp in der Zielressource Ihres Google Workspace-Abos aus. Wenn Sie beispielsweise neue Nachrichten in einem Chatbereich abonniert haben, posten Sie eine Nachricht im Gruppenbereich.

  2. Führen Sie dazu diesen Befehl aus:

    gcloud pubsub subscriptions pull PUBSUB_SUBSCRIPTION_NAME --format=json --limit=MESSAGE_COUNT --auto-ack
    

    Ersetzen Sie Folgendes:

    • PUBSUB_SUBSCRIPTION_NAME: Der vollständige Name Ihres Pub/Sub-Abos im Format projects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID.
    • MESSAGE_COUNT: Die maximale Anzahl von Pub/Sub-Nachrichten, die Sie abrufen möchten.

    Es kann einige Minuten dauern, bis für ein Ereignis eine Pub/Sub-Nachricht generiert wird.

Für jedes ausgelöste Google Workspace-Ereignis wird eine Nachricht an Ihr Pub/Sub-Abo gesendet, die das Ereignis enthält. Weitere Informationen finden Sie unter Ereignisse als Google Cloud Pub/Sub-Nachrichten empfangen.

Konfigurieren, wie Ereignisse in der App empfangen werden

Das von Ihnen erstellte Pub/Sub-Abo ist Pull-basiert. Nachdem Sie getestet haben, dass Ihr Pub/Sub-Abo getestet wurde, können Sie den Zustellungstyp aktualisieren, um zu ändern, wie Ihre Anwendung Ereignisse empfängt. Beispielsweise können Sie das Pub/Sub-Abo für einen Push-Bereitstellungstyp konfigurieren, damit Ihre Anwendung Ereignisse direkt an einen Anwendungsendpunkt empfangen kann.

Informationen zum Konfigurieren eines Pub/Sub-Abos finden Sie in der Pub/Sub-Dokumentation.