Auf dieser Seite wird beschrieben, wie Sie mit der Google Workspace Events API ein Abo für eine Google Workspace-Ressource erstellen. Mit einem Google Workspace-Abo kann Ihre App Informationen zu Google Workspace-Ereignissen erhalten, die Änderungen an einer Google Workspace-Ressource darstellen. Informationen zu den von der Google Workspace Events API unterstützten Ressourcen und Ereignistypen finden Sie in der Übersicht zur Google Workspace Events API.
Auf dieser Seite finden Sie die folgenden Schritte zum Erstellen eines Google Workspace-Abos:
- die Umgebung einrichten
- Erstellen Sie ein Google Cloud Pub/Sub-Thema und abonnieren Sie es. Sie verwenden dieses Thema als Endpunkt, um Google Workspace-Ereignisse zu empfangen.
- Rufen Sie die Methode
create()
der Google Workspace Events API auf der RessourceSubscription
auf. - Testen Sie Ihr Google Workspace-Abo, um sicherzustellen, dass Ihr Pub/Sub-Thema Ereignisse empfängt, die Sie abonniert haben.
- Optional können Sie konfigurieren, wie Ereignisse an einen Endpunkt für Ihre App gesendet werden, damit Ihre App das Ereignis verarbeiten und bei Bedarf Maßnahmen ergreifen kann.
Vorbereitung
Apps Script
- So verwenden Sie die Google Cloud CLI-Befehle in dieser Anleitung:
- Installieren Sie die Google Cloud CLI.
- Führen Sie den folgenden Code aus, um die
gcloud
-Befehlszeile zu initialisieren:
gcloud init
- Ein Google Cloud-Projekt mit aktivierter Abrechnung. Für Abos für Google Chat müssen Sie außerdem 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 die Nutzerauthentifizierung mit dem für die App konfigurierten OAuth-Zustimmungsbildschirm. Wenn Sie den Einwilligungsbildschirm konfigurieren, müssen Sie einen Gültigkeitsbereich angeben, um jeden Ereignistyp für das Abo zu unterstützen. Informationen zum Konfigurieren des Einwilligungsbildschirms und zum Ermitteln der erforderlichen Zugriffsbereiche finden Sie unter Zugriffsbereiche auswählen.
- Ein Apps Script-Projekt:
- Verwenden Sie Ihr Google Cloud-Projekt anstelle des automatisch von Apps Script erstellten Standardprojekts.
- Alle Bereiche, die Sie zum Konfigurieren des OAuth-Zustimmungsbildschirms hinzugefügt haben, müssen Sie auch der Datei
appsscript.json
in Ihrem Apps Script-Projekt hinzufügen. Beispiel: - Aktivieren Sie den erweiterten Dienst
Google Workspace Events
.
"oauthScopes": [ "https://www.googleapis.com/auth/chat.messages.readonly" ]
Python
- Python 3.6 oder höher
- Das Paketverwaltungstool pip
- Die neuesten 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:
- Installieren Sie die Google Cloud CLI.
- Führen Sie den folgenden Code aus, um die
gcloud
-Befehlszeile zu initialisieren:
gcloud init
- Ein Google Cloud-Projekt mit aktivierter Abrechnung. Für Abos für Google Chat müssen Sie außerdem 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 die Nutzerauthentifizierung mit dem für die App konfigurierten OAuth-Zustimmungsbildschirm. Wenn Sie den Einwilligungsbildschirm konfigurieren, müssen Sie einen Umfang angeben, um jeden Ereignistyp für das Abo zu unterstützen. Informationen zum Konfigurieren des Einwilligungsbildschirms und zum Ermitteln der erforderlichen Zugriffsbereiche finden Sie unter Zugriffsbereiche auswählen.
Umgebung einrichten
Im folgenden Abschnitt wird beschrieben, 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 App und aktivieren Sie die Google Workspace Events API und die Pub/Sub API:
gcloud
Melden Sie sich in Ihrem Arbeitsverzeichnis in Ihrem Google-Konto an:
gcloud auth login
Legen Sie Ihr Projekt als Cloud-Projekt für Ihre App fest:
gcloud config set project PROJECT_ID
Ersetzen Sie
PROJECT_ID
durch die Projekt-ID des Cloud-Projekts Ihrer App.Aktivieren Sie die Google Workspace Events API und die Google Cloud Pub/Sub API:
gcloud services enable pubsub.googleapis.com workspaceevents.googleapis.com
OAuth-Client-ID-Anmeldedaten erstellen
Wählen Sie den Anwendungstyp aus, um eine detaillierte Anleitung zum Erstellen einer OAuth-Client-ID aufzurufen:
Webanwendung
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > Webanwendung.
- Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Fügen Sie autorisierte URIs zu Ihrer App hinzu:
- Clientseitige Apps (JavaScript): Klicken Sie unter Autorisierte JavaScript-Quellen auf URI hinzufügen. Geben Sie dann einen URI für Browseranfragen ein. Damit werden die Domains angegeben, von denen aus Ihre Anwendung API-Anfragen an den OAuth 2.0-Server senden kann.
- Serverseitige Apps (Java, Python usw.): 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.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf sind Ihre neue Client-ID und Ihr Clientschlüssel zu sehen.
Notieren Sie sich die Client-ID. Clientschlüssel werden nicht für Webanwendungen verwendet.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter OAuth 2.0-Client-IDs angezeigt.
Android
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > Android.
- Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Geben Sie im Feld „Paketname“ den Paketnamen aus Ihrer
AndroidManifest.xml
-Datei ein. - Geben Sie in das Feld „SHA-1-Zertifikatfingerabdruck“ den generierten SHA-1-Zertifikatfingerabdruck ein.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf ist Ihre neue Client-ID zu sehen.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.
iOS
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > iOS.
- Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Geben Sie im Feld „Bundle-ID“ die Bundle-ID ein, die in der
Info.plist
-Datei der App aufgeführt ist. - Optional: Wenn Ihre App im Apple App Store angezeigt wird, geben Sie die App-Store-ID ein.
- Optional: Geben Sie im Feld „Team-ID“ den eindeutigen 10-stelligen String ein, der von Apple generiert und Ihrem Team zugewiesen wurde.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf sind Ihre neue Client-ID und Ihr Clientschlüssel zu sehen.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.
Chrome App
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > Chrome-App.
- Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Geben Sie im Feld „App-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.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf sind Ihre neue Client-ID und Ihr Clientschlüssel zu sehen.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.
Desktopanwendung
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > Desktopanwendung.
- Geben Sie im Feld Name einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf sind Ihre neue Client-ID und Ihr Clientschlüssel zu sehen.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter OAuth 2.0-Client-IDs angezeigt.
Fernsehgeräte und Geräte mit begrenzter Eingabe
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf App-Typ > Fernseher und Geräte mit eingeschränkter Eingabe.
- Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf sind Ihre neue Client-ID und Ihr Clientschlüssel zu sehen.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.
Universal Windows Platform (UWP)
- Klicken Sie in der Google Cloud Console auf das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > Universal Windows Platform (UWP).
- Geben Sie im Feld „Name“ einen Namen für die Anmeldedaten ein. Dieser Name wird nur in der Google Cloud Console angezeigt.
- Geben Sie im Feld „Store-ID“ die eindeutige 12-stellige Microsoft Store-ID Ihrer App ein. Sie finden diese ID in der Microsoft Store-URL Ihrer App und im Partner Center.
- Klicken Sie auf Erstellen. Der Bildschirm „OAuth-Client erstellt“ wird angezeigt. Darauf sind Ihre neue Client-ID und Ihr Clientschlüssel zu sehen.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter „OAuth 2.0-Client-IDs“ angezeigt.
JSON-Datei mit dem Clientschlüssel herunterladen
Die Clientschlüsseldatei ist eine JSON-Darstellung der OAuth-Client-ID-Anmeldedaten, auf die Ihre App beim Bereitstellen von Anmeldedaten verweisen kann.
Gehen Sie in der Google Cloud Console zu „Menü“ > APIs und Dienste > Anmeldedaten.
Klicken Sie unter OAuth 2.0-Client-IDs auf die von Ihnen erstellte Client-ID.
Klicken Sie auf JSON herunterladen.
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 für das Thema. Ihr 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 erstellst du ein Pub/Sub-Thema und abonnierst es:
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite „Pub/Sub“ auf:
Achten Sie darauf, dass das Cloud-Projekt für Ihre App ausgewählt ist.
Klicken Sie auf
Thema erstellen und gehen Sie so vor:- Geben Sie einen Namen für das Thema ein, z. B.
workspace-events-topic
. - Lassen Sie die Option Standardabo hinzufügen ausgewählt. Pub/Sub benennt dieses Standardabo ähnlich wie das Thema, z. B.
workspace-events-topic-sub
. - Optional: Aktualisieren oder konfigurieren Sie zusätzliche Properties für Ihr Thema.
- Geben Sie einen Namen für das Thema ein, z. B.
Klicken Sie auf Erstellen. Der vollständige Themenname hat das Format
projects/PROJECT_ID/topics/TOPIC_ID
. Sie verwenden diesen vollständigen Namen in einem späteren Schritt.Gewähren Sie Zugriff zum Veröffentlichen von Pub/Sub-Nachrichten in Ihrem Thema:
- Öffnen Sie auf der Seite Ihres Themas die Seitenleiste und den Tab Berechtigungen.
- Klicken Sie auf Hauptkonto hinzufügen.
- Fügen Sie im Feld Hauptkonten hinzufügen das Dienstkonto für die Google Workspace-Anwendung hinzu, die Ereignisse an Ihr Abo sendet:
- Für Google Chat-Ereignisse:
chat-api-push@system.gserviceaccount.com
. - Für Meet-Ereignisse gilt:
meet-api-event-push@system.gserviceaccount.com
.
- Für Google Chat-Ereignisse:
- Wählen Sie im Menü Rollen zuweisen die Option
Pub/Sub Publisher
aus. - Klicken Sie auf Speichern. Es kann einige Minuten dauern, bis die Berechtigungen für Ihr Thema aktualisiert werden.
gcloud
Erstellen Sie in Ihrem Cloud-Projekt ein Thema. Führen Sie dazu den folgenden Befehl aus:
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 enthält den vollständigen Themennamen im Format
projects/PROJECT_ID/topics/TOPIC_ID
. Notieren Sie sich den Namen und achten Sie darauf, dass der Wert für PROJECT_ID die Cloud-Projekt-ID Ihrer App ist. Sie verwenden den Namen des Themas im nächsten Schritt und später zum Erstellen des Google Workspace-Abos.So gewähren Sie Zugriff zum Veröffentlichen von Nachrichten zu Ihrem Thema:
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 Name des Themas, der aus dem vorherigen Schritt stammt. Formatiert alsprojects/PROJECT_ID/topics/TOPIC_ID
.GOOGLE_WORKSPACE_APPLICATION
: Die Google Workspace-Anwendung, die Ereignisse an Ihr Abo senden muss:- Wenn Sie Ereignisse von Google Chat empfangen möchten, verwenden Sie
chat-api-push@system.gserviceaccount.com
. - Wenn Sie Ereignisse von Meet erhalten möchten, verwenden Sie
meet-api-event-push@system.gserviceaccount.com
.
- Wenn Sie Ereignisse von Google Chat empfangen möchten, verwenden Sie
Es kann einige Minuten dauern, bis die Berechtigungen für Ihr Thema aktualisiert werden.
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 Topics, das Sie im vorherigen Schritt erstellt haben.
Google Workspace-Ressource abonnieren
In diesem Abschnitt abonnieren Sie die Google Workspace-Ressource, die Sie auf Ereignisse überwachen möchten.
Zielressource auswählen und identifizieren
In einem Google Workspace-Abo ist die Zielressource die Google Workspace-Ressource, die Sie auf Ereignisse überwachen. Die Zielressource wird im Feld targetResource
des Abos dargestellt und mit dem vollständigen Ressourcennamen formatiert. Bei einem Abo, das einen Google Chat-Bereich (spaces/AAAABBBBBBB
) überwacht, ist der Wert von targetResource
beispielsweise //chat.googleapis.com/spaces/AAAABBBBBBB
.
Bevor Sie das Abo erstellen, erfahren Sie in den folgenden Abschnitten, wie Sie die Zielressource ermitteln und formatieren.
Zielressource für Google Chat angeben
Zielressource | Format | Einschränkungen |
---|---|---|
Leerzeichen |
Dabei ist SPACE die ID im
Ressourcennamen der Chat API-Ressource |
Der Google Chat-Nutzer, der das Abo autorisiert, muss über sein Google Workspace- oder Google-Konto Mitglied des Gruppenbereichs sein. |
Alle Gruppenbereiche für einen Nutzer |
|
Das Abo empfängt nur Ereignisse für die Gruppenbereiche, in denen der Nutzer über sein Google Workspace- oder Google-Konto Mitglied ist. |
Nutzer |
Dabei ist USER die ID im
Ressourcennamen der Chat API-Ressource |
Das Abo empfängt nur Ereignisse zu dem Nutzer, der das Abo autorisiert hat. Ein Nutzer kann kein Abo im Namen anderer Nutzer autorisieren. |
Zielressource für Meet angeben
Zielressource | Format | Einschränkungen (falls zutreffend) |
---|---|---|
Konferenzraum | //meet.googleapis.com/spaces/SPACE
Dabei ist SPACE die ID im
Ressourcennamen der Meet REST API-Ressource |
|
Nutzer | //cloudidentity.googleapis.com/users/USER
Dabei ist USER die ID im Feld
|
Das Abo empfängt Ereignisse zu Besprechungsräumen, in denen der Nutzer eine der folgenden Rollen hat:
|
Google Workspace-Abo erstellen
Um ein Abo zu erstellen, verwenden Sie die Methode subscriptions.create()
der Google Workspace Events API, um eine Ressource vom Typ Subscription
zu erstellen. Geben Sie die folgenden Felder an:
targetResource
: Eine Google Workspace-Instanz, die Sie im vorherigen Abschnitt angegeben haben, formatiert mit dem vollständigen Ressourcennamen.eventTypes
: Ein Array mit einem oder mehreren Ereignistypen, die Sie für die Ressource erhalten möchten. Wenn Ihre App beispielsweise nur über neue Nachrichten informiert werden muss, die in einem Chatbereich gepostet werden, kann sie einfach Ereignisse zu erstellten Nachrichten abonnieren.notificationEndpoint
: Ein Benachrichtigungsendpunkt, an den Ihr Google Workspace-Abo Ereignisse sendet. Sie verwenden das Pub/Sub-Thema, das Sie im vorherigen Abschnitt erstellt haben.payloadOptions
: Optionen zum Angeben, 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
Erstellen Sie in Ihrem Apps Script-Projekt eine neue Scriptdatei 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, als vollständiger Ressourcenname. Wenn Sie beispielsweise einen Google Chat-Bereich mit der IDAAAABBBB
abonnieren möchten, verwenden Sie//chat.googleapis.com/spaces/AAAABBBB
.EVENT_TYPES
: Ein oder mehrere Ereignistypen, die Sie in der Zielressource abonnieren möchten. Formatieren Sie sie als Stringarray, z. B.'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 alsprojects/PROJECT_ID/topics/TOPIC_ID
.RESOURCE_DATA
: Ein boolescher Wert, der angibt, ob das Abo Ressourcendaten in der Nutzlast enthält:True
: Enthält alle Ressourcendaten. Wenn Sie einschränken möchten, welche Felder eingeschlossen werden, fügen Sie das FeldfieldMask
hinzu und geben Sie mindestens ein Feld für die geänderte Ressource an. Nur Abos für Chatressourcen unterstützen die Einbeziehung von Ressourcendaten.False
: Ressourcendaten werden ausgeschlossen.
Führen Sie die Funktion
createSubscription
in Ihrem Apps Script-Projekt aus, um das Google Workspace-Abo zu erstellen.
Python
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
: Einer oder mehrere OAuth-Bereiche, die jeden Ereignistyp für das Abo unterstützen. Als Array von Strings formatiert. Wenn Sie mehrere Bereiche angeben möchten, trennen Sie sie 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, als vollständiger Ressourcenname. Wenn Sie beispielsweise einen Google Chat-Bereich mit der IDAAAABBBB
abonnieren möchten, verwenden Sie//chat.googleapis.com/spaces/AAAABBBB
.EVENT_TYPES
: Ein oder mehrere Ereignistypen, die Sie in der Zielressource abonnieren möchten. Formatieren Sie sie als Stringarray, z. B.'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 alsprojects/PROJECT_ID/topics/TOPIC_ID
.RESOURCE_DATA
: Ein boolescher Wert, der angibt, ob das Abo Ressourcendaten in der Nutzlast enthält:True
: Enthält alle Ressourcendaten. Wenn Sie einschränken möchten, welche Felder eingeschlossen werden, fügen Sie das FeldfieldMask
hinzu und geben Sie mindestens ein Feld für die geänderte Ressource an. Nur Abos für Chatressourcen unterstützen die Einbeziehung von Ressourcendaten.False
: Ressourcendaten werden ausgeschlossen.
Führen Sie zum Erstellen des Google Workspace-Abos den folgenden Befehl in Ihrem Terminal aus:
python3 create_subscription.py
Die Google Workspace Events API gibt einen abgeschlossenen lang andauernden Vorgang zurück, der die Instanz der von Ihnen erstellten Subscription
-Ressource enthält.
Google Workspace-Abo testen
Wenn Sie prüfen möchten, ob Sie Google Workspace-Ereignisse erhalten, können Sie ein Ereignis auslösen und Nachrichten in das Pub/Sub-Abo abrufen.
So testen Sie Ihr Google Workspace-Abo:
Google Cloud Console
Sie können eine oder mehrere Ereignistypen in der Zielressource Ihres Google Workspace-Abos auslösen. Wenn Sie beispielsweise neue Nachrichten in einem Chatbereich abonniert haben, posten Sie eine Nachricht in diesem Bereich.
Rufen Sie in der Google Cloud Console die Seite „Pub/Sub“ auf:
Achten Sie darauf, dass das Cloud-Projekt für Ihre App ausgewählt ist.
Klicken Sie im Menü Pub/Sub auf Abos.
Suchen Sie in der Tabelle nach dem Pub/Sub-Abo für Ihr Thema und klicken Sie auf den Namen des Abos.
Klicken Sie auf den Tab Nachrichten.
Klicken Sie auf Pull. Es kann einige Minuten dauern, bis für ein Ereignis eine Pub/Sub-Nachricht generiert wird.
gcloud
Sie können eine oder mehrere Ereignistypen in der Zielressource Ihres Google Workspace-Abos auslösen. Wenn Sie beispielsweise neue Nachrichten in einem Chatbereich abonniert haben, posten Sie eine Nachricht in diesem Bereich.
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 Formatprojects/SUBSCRIPTION_ID/subscriptions/SUBSCRIPTION_ID
.MESSAGE_COUNT
: Die maximale Anzahl der Pub/Sub-Nachrichten, die abgerufen werden sollen.
Es kann einige Minuten dauern, bis für ein Ereignis eine Pub/Sub-Nachricht generiert wird.
Für jedes von Ihnen 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 Ihre App Ereignisse empfängt
Das von Ihnen erstellte Pub/Sub-Abo ist ein Pull-Abo. Nachdem Sie Ihr Pub/Sub-Abo getestet haben, können Sie den Übermittlungstyp aktualisieren, um zu ändern, wie Ihre App Ereignisse empfängt. Sie können das Pub/Sub-Abo beispielsweise für einen Push-Übermittlungstyp konfigurieren, damit Ihre App Ereignisse direkt an einen App-Endpunkt empfangen kann.
Informationen zum Konfigurieren eines Pub/Sub-Abos finden Sie in der Pub/Sub-Dokumentation.