In dieser Anleitung erfahren Sie, wie Sie die Google Meet REST API mit der Google Workspace Events API und Google Cloud Pub/Sub zur Beobachtung und Reaktion auf Ereignisse in einem Meet-Konferenzraum. Die Beispielanwendung erfasst, Konferenzen beginnen und enden, wann Teilnehmer beitreten oder verlassen und wann generierte Videokonferenz-Artefakte verfügbar sind.
Anstatt einen bestimmten Konferenzraum zu abonnieren, können Sie Meet-Nutzer, um Termine für jeden Besprechungsraum zu erhalten, die die Nutzenden besitzen oder organisieren. Weitere Informationen finden Sie in der Dokumentation zur Google Workspace Events API unter Google Meet-Ereignisse abonnieren.
Vorbereitung
Wenn Sie eine dieser Voraussetzungen für Ihre Organisation aktivieren müssen, fragen Sie nach Ihren Google Workspace-Administrator, um sie zu aktivieren:
- Ein Google Workspace-Konto mit auf Google Meet zugreifen können.
- Zugriff zum Erstellen eines Google Cloud-Projekts.
- Python 3 installiert.
- Die installierte gcloud CLI.
Umgebung vorbereiten
In diesem Abschnitt erfahren Sie, wie Sie die lokale Umgebung und das Google Cloud-Projekt für diese Anleitung erstellen und konfigurieren.
Arbeitsverzeichnis und virtuelle Python-Umgebung erstellen
Um ein neues virtuelles Umgebung, führen Sie den folgenden Befehl aus: in Ihrem Terminal.
Linux/macOS
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
source env/bin/activate
Windows (Eingabeaufforderung)
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.bat
Windows (PowerShell)
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.ps1
Google Cloud-Projekt erstellen
Google Cloud Console
- Öffnen Sie in der Google Cloud Console das Menü > IAM und Verwaltung > Projekt erstellen. .
-
Geben Sie im Feld Projektname einen aussagekräftigen Namen für Ihr Projekt ein.
Optional: Klicken Sie zum Bearbeiten der Projekt-ID auf Bearbeiten. Die Projekt-ID kann nicht geändert werden nachdem das Projekt erstellt wurde, wählen Sie also eine ID, die Ihren Anforderungen für die gesamte Lebensdauer des Projekt arbeiten.
- Klicken Sie im Feld Standort auf Durchsuchen, um die potenziellen Standorte für Ihr Projekt arbeiten. Klicken Sie danach auf Auswählen.
- Klicken Sie auf Erstellen. In der Google Cloud Console wird die Dashboard-Seite aufgerufen und Ihr Projekt wurde erstellt. innerhalb weniger Minuten.
gcloud-CLI
Greifen Sie in einer der folgenden Entwicklungsumgebungen auf die Google Cloud Befehlszeile („gcloud“):
-
Cloud Shell: Aktivieren Sie Cloud Shell, um ein Onlineterminal mit der bereits eingerichteten gcloud CLI zu verwenden.
Cloud Shell aktivieren -
Lokale Shell: Zur Verwendung einer lokalen Entwicklungsumgebung müssen Sie die gcloud CLI installieren und initialisieren.
Verwenden Sie den Befehl „gcloud projects create“, um ein Cloud-Projekt zu erstellen: Ersetzen Sie PROJECT_ID, indem Sie die ID für das Projekt festlegen, das Sie erstellen möchten.gcloud projects create PROJECT_ID
Abrechnung für das Google Cloud-Projekt aktivieren
Google Cloud Console
- Gehen Sie in der Google Cloud Console zu Abrechnung. Klicken Sie auf Menü > Abrechnung > Meine Projekte.
- Wählen Sie unter Organisation auswählen die Organisation aus, die mit Ihr Google Cloud-Projekt.
- Öffnen Sie in der Projektzeile das Menü Aktionen. ( ), klicken Sie auf Abrechnung ändern und wählen Sie Cloud-Rechnungskonto.
- Klicken Sie auf Konto festlegen.
gcloud-CLI
- Führen Sie folgenden Befehl aus, um verfügbare Rechnungskonten aufzulisten:
gcloud billing accounts list
- So verknüpfen Sie ein Abrechnungskonto mit einem Google Cloud-Projekt:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
Ersetzen Sie Folgendes:
PROJECT_ID
ist die Projekt-ID für das Cloud-Projekt, für das Sie die Abrechnung aktivieren möchten.BILLING_ACCOUNT_ID
ist die Rechnungskonto-ID, die mit dem Google Cloud-Projekt verknüpft werden soll.
Authentifizierung und Autorisierung einrichten
Durch Authentifizierung und Autorisierung kann die App auf die Meet REST API zugreifen Ressourcen. Zum Aufrufen der Meet REST API ist eine Nutzerautorisierung erforderlich. In diesem Abschnitt wird beschrieben, wie Sie Nutzeranmeldedaten konfigurieren und eine Autorisierung anfordern.
OAuth-Zustimmungsbildschirm konfigurieren und Bereiche auswählen
In den folgenden Schritten werden Platzhalterinformationen zum Konfigurieren vorgeschlagen den OAuth-Zustimmungsbildschirm für für Ihre App. Bevor Sie die App extern veröffentlichen, aktualisieren Sie diese Informationen.
- Öffnen Sie in der Google Cloud Console das Menü > APIs und Dienste > OAuth-Zustimmungsbildschirm. .
- Wählen Sie unter Nutzertyp die Option Intern aus und klicken Sie dann auf Erstellen.
- Geben Sie unter App-Name
Meet REST API Tutorial
ein. - Füllen Sie das App-Registrierungsformular aus und klicken Sie dann auf Speichern und fortfahren.
- Klicken Sie auf Bereiche hinzufügen oder entfernen. Ein Steuerfeld mit einer Liste der Bereiche wird angezeigt für jede API, die Sie in Ihrem Google Cloud-Projekt aktiviert haben.
- Fügen Sie unter Bereiche manuell hinzufügen die folgenden Bereiche ein:
https://www.googleapis.com/auth/meetings.space.created
- Klicken Sie auf Zur Tabelle hinzufügen.
- Klicken Sie auf Aktualisieren.
- Nach Auswahl der erforderlichen Bereiche angezeigt wird, klicken Sie auf Speichern und fortfahren.
- Wenn Sie als Nutzertyp Extern ausgewählt haben, fügen Sie Testnutzer hinzu:
- Klicken Sie unter Testnutzer auf Nutzer hinzufügen.
- Geben Sie Ihre E-Mail-Adresse und weitere autorisierte Testnutzer ein und klicken Sie dann auf Speichern und fortfahren.
- Überprüfen Sie die Registrierungsübersicht der App. Wenn Sie Änderungen vornehmen möchten, klicken Sie auf Bearbeiten. Wenn die App mit der Registrierung in Ordnung ist, klicken Sie auf Zurück zum Dashboard.
Client-ID erstellen
Die Client-ID dient während des OAuth 2.0-Vorgangs als Anmeldedaten für Ihre Anwendung. fließen. Da die App lokal ausgeführt wird, erstellen Sie eine Desktop-Client-ID.
- Öffnen Sie in der Google Cloud Console das Dreistrich-Menü > APIs und Dienste > Anmeldedaten.
- Klicken Sie auf Anmeldedaten erstellen > OAuth-Client-ID.
- Klicken Sie auf Anwendungstyp > Desktop-App.
- Geben Sie in das 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 mit Ihrer neuen Client-ID und Ihrem Clientschlüssel angezeigt.
- Klicken Sie auf OK. Die neu erstellten Anmeldedaten werden unter OAuth 2.0-Client-IDs angezeigt.
Google-Authentifizierungsbibliotheken installieren
Installieren Sie die Google Auth-Bibliotheken:
pip install google-auth google-auth-oauthlib
Autorisierung ausführen
Für die Meet REST API sind Nutzeranmeldedaten in Form von OAuth 2.0 erforderlich ein Zugriffstoken hinzufügen. In diesem Abschnitt implementieren Sie den OAuth 2.0-Vorgang, um ein Zugriffstoken und ein Aktualisierungstoken für den Nutzer anzufordern.
Erstellen Sie in Ihrem Arbeitsverzeichnis die Datei
main.py
und fügen Sie Folgendes hinzu: Inhalt:import os import json from google.auth.transport import requests from google.oauth2.credentials import Credentials from google_auth_oauthlib.flow import InstalledAppFlow def authorize() -> Credentials: """Ensure valid credentials for calling the Meet REST API.""" CLIENT_SECRET_FILE = "./client_secret.json" credentials = None if os.path.exists('token.json'): credentials = Credentials.from_authorized_user_file('token.json') if credentials is None: flow = InstalledAppFlow.from_client_secrets_file( CLIENT_SECRET_FILE, scopes=[ 'https://www.googleapis.com/auth/meetings.space.created', ]) flow.run_local_server(port=0) credentials = flow.credentials if credentials and credentials.expired: credentials.refresh(requests.Request()) if credentials is not None: with open("token.json", "w") as f: f.write(credentials.to_json()) return credentials USER_CREDENTIALS = authorize()
Zum Ausführen des Codes werden sowohl die Client-ID als auch das zuvor erstellte Secret verwendet erforderlich. Kopieren Sie die heruntergeladene Datei mit dem Client-Secret in das Arbeitsverzeichnis des Projekts und benennen Sie sie in
client_secret.json
um.Wenn Sie testen möchten, wie die Autorisierung funktioniert, führen Sie den folgenden Befehl aus. Die App fordert zur Autorisierung auf und erstellt eine
token.json
-Datei im Projektarbeitsverzeichnis erstellen, nachdem die Anfrage genehmigt wurde.python3 main.py
Meet REST API hinzufügen
Nachdem der Autorisierungscode fertig ist, können Sie die Meet REST API aktivieren und aufrufen.
APIs aktivieren
In diesem Abschnitt geht es um die Meet REST API. Google Cloud Pub/Sub und Google Workspace Events API
Google Cloud Console
Aktivieren Sie in der Google Cloud Console die Google Meet REST API, die Google Workspace Events API und Google Cloud Pub/Sub.
Aktivieren Sie die APIs in den richtigen Cloud-Projekt ein und klicken Sie auf Weiter.
Prüfen Sie, ob Sie die richtigen APIs aktivieren, und klicken Sie dann auf Aktivieren.
gcloud-CLI
Legen Sie gegebenenfalls das aktuelle Cloud-Projekt auf das Projekt fest, mit dem Befehl
gcloud config set project
erstellt:gcloud config set project PROJECT_ID
Ersetzen Sie PROJECT_ID durch die Projekt-ID des Cloud-Projekt, das Sie erstellt haben.
die Google Meet REST API, die Google Workspace Events API und Google Cloud Pub/Sub mit dem Befehl
gcloud services enable
:gcloud services enable meet.googleapis.com workspaceevents.googleapis.com pubsub.googleapis.com
Clientbibliothek für die Meet REST API installieren
So installieren Sie die Clientbibliothek für die Meet REST API:
Führen Sie diesen Befehl aus:
pip install google-apps-meet
Bearbeiten Sie die Datei
main.py
, um den Client zu importieren:from google.apps import meet_v2 as meet
Gruppenbereich erstellen
Die Meet REST API ist jetzt verfügbar. Definieren Sie nun eine Funktion zum Erstellen einer abonnierbarer Konferenzraum.
Bearbeiten Sie main.py
und fügen Sie Folgendes hinzu:
def create_space() -> meet.Space:
"""Create a meeting space."""
client = meet.SpacesServiceClient(credentials=USER_CREDENTIALS)
request = meet.CreateSpaceRequest()
return client.create_space(request=request)
Ereignisse abonnieren
Wenn Sie Termine zu einem Konferenzraum erhalten möchten, erstellen Sie ein Abo über die Google Workspace Events API Sie müssen außerdem ein Google Cloud Pub/Sub-Thema, das als Benachrichtigungsendpunkt dient, und App die Ereignisse empfängt.
Google Cloud Pub/Sub konfigurieren
So erstellen Sie ein Pub/Sub-Thema und abonnieren es:
Google Cloud Console
- Öffnen Sie in der Google Cloud Console das Menü > Pub/Sub.
Achten Sie darauf, dass das Cloud-Projekt für Ihre Anwendung ausgewählt ist.
.
- Klicken Sie auf
- Geben Sie
workspace-events
als Themennamen ein. - Lassen Sie Standardabo hinzufügen ausgewählt.
- Klicken Sie auf Erstellen. Der vollständige Themenname hat das Format
projects/{project}/topics/{topic}
. Notiz machen zur Verwendung in späteren Schritten.
Thema erstellen und führen Sie
Folgendes:
- Geben Sie
- Gewähren Sie Zugriff zum Veröffentlichen von Pub/Sub-Nachrichten zu Ihrem Thema:
- Öffnen Sie in der Seitenleiste den Tab Berechtigungen.
- Klicken Sie auf Hauptkonto hinzufügen.
- Geben Sie unter Neue Hauptkonten
[email protected]
ein. - Wählen Sie unter 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 sind.
gcloud-CLI
- Erstellen Sie in Ihrem Cloud-Projekt ein Thema, indem Sie den folgenden Befehl ausführen:
gcloud pubsub topics create workspace-events
Die Ausgabe zeigt den vollständigen Themennamen im Format
projects/{project}/topics/{topic}
Notiz machen zur Verwendung in späteren Schritten. - Gewähren Sie Zugriff, um Nachrichten zu Ihrem Thema zu veröffentlichen:
gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:[email protected]' --role='roles/pubsub.publisher'
Es kann einige Minuten dauern, bis die Berechtigungen für Ihr Thema aktualisiert sind.
- Erstellen Sie ein Pub/Sub-Abo für das Thema:
gcloud pubsub subscriptions create workspace-events-sub --topic=TOPIC_NAME
Ersetzen Sie Folgendes:
TOPIC_NAME
: Der Name des Themas, das Sie erstellt haben. aus dem vorherigen Schritt.
Notieren Sie sich den Namen des Themas und achten Sie darauf, dass der Wert für {project}
der Wert
Cloud-Projekt-ID für Ihre Anwendung. Mit dem Themennamen erstellen Sie die
Google Workspace-Abo.
Dienstkonto erstellen
Google Cloud Console
- Öffnen Sie in der Google Cloud Console das Menü > IAM und Verwaltung > Dienstkonten. .
- Klicken Sie auf Dienstkonto erstellen.
- Geben Sie die Details zum Dienstkonto ein und klicken Sie dann auf Erstellen und fortfahren.
- Optional: Weisen Sie Ihrem Dienstkonto Rollen zu, um Zugriff auf die Ressourcen Ihres Google Cloud-Projekts zu gewähren. Weitere Informationen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
- Klicken Sie auf Weiter.
- Optional: Geben Sie Nutzer oder Gruppen ein, die Aktionen mit diesem Dienstkonto verwalten und ausführen können. Weitere Informationen finden Sie unter Identitätswechsel für Dienstkonten verwalten.
- Klicken Sie auf Fertig. Notieren Sie sich die E-Mail-Adresse des Dienstkontos.
gcloud-CLI
- Erstellen Sie das Dienstkonto:
gcloud iam service-accounts create meet-event-listener \ --display-name="meet-event-listener"
- Optional: Weisen Sie Ihrem Dienstkonto Rollen zu, um Zugriff auf die Ressourcen Ihres Google Cloud-Projekts zu gewähren. Weitere Informationen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
Dienstkonto verwenden
Nachdem Sie das Dienstkonto erstellt haben, gewähren Sie sich selbst Zugriff, um die Identität des Dienstkonto.
Google Cloud Console
- Klicken Sie in der Spalte Aktionen für das neu erstellte Dienstkonto auf > Berechtigungen verwalten.
- Klicken Sie auf Schlüssel hinzufügen. > Zugriff gewähren.
- Geben Sie unter Hauptkonten hinzufügen Ihre E-Mail-Adresse ein.
- Wählen Sie Dienstkonten > Ersteller von Dienstkonto-Token aus. als Rolle.
- Klicken Sie auf Speichern.
- Kehren Sie zum Terminal zurück und melden Sie sich mit
gcloud
an, um die Standardanmeldedaten der Anwendung für das Dienstkonto festzulegen. Wenn Sie zur Autorisierung aufgefordert werden, Konto verwenden, das Sie in den vorherigen Schritten verwendet haben.gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud-CLI
- Führen Sie
gcloud iam service-accounts add-iam-policy-binding
aus, um die Berechtigung hinzuzufügen. mit der E-Mail-Adresse des Dienstkontos und des Nutzers.gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_EMAIL \ --member="user:YOUR_EMAIL \ --role="roles/iam.serviceAccountTokenCreator"
- Melden Sie sich an, um die Standardanmeldedaten für die Anwendung auf das Dienstkonto festzulegen. Melden Sie sich bei der Aufforderung zur Autorisierung mit demselben Konto an, das Sie in den vorherigen Schritten verwendet haben.
gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
Pub/Sub-Clientbibliothek installieren
Verwenden Sie
pip
, um die Clientbibliothek für Pub/Sub zu installieren:pip install google-cloud-pubsub
Bearbeiten Sie dann
main.py
, um den Client zu importieren:from google.cloud import pubsub_v1
Google Workspace-Abo erstellen
Füge main.py
den folgenden Code hinzu, um eine Methode zum Abonnieren von
Meet-Termine. Mit diesem Code werden alle Termine einer Besprechung abonniert
Leerzeichen. Wenn Ereignisse abonniert werden, werden sie an das Pub/Sub-Thema gesendet.
def subscribe_to_space(space_name: str = None, topic_name: str = None):
"""Subscribe to events for a meeting space."""
session = requests.AuthorizedSession(USER_CREDENTIALS)
body = {
'targetResource': f"//meet.googleapis.com/{space_name}",
"eventTypes": [
"google.workspace.meet.conference.v2.started",
"google.workspace.meet.conference.v2.ended",
"google.workspace.meet.participant.v2.joined",
"google.workspace.meet.participant.v2.left",
"google.workspace.meet.recording.v2.fileGenerated",
"google.workspace.meet.transcript.v2.fileGenerated",
],
"payloadOptions": {
"includeResource": False,
},
"notificationEndpoint": {
"pubsubTopic": topic_name
},
"ttl": "86400s",
}
response = session.post("https://workspaceevents.googleapis.com/v1/subscriptions", json=body)
return response
Fügen Sie als Nächstes den entsprechenden Code hinzu, um die Ereignisse abzurufen und zu verarbeiten.
Auf Ereignisse warten und sie verarbeiten
Fahren Sie mit der Bearbeitung von main.py
fort und fügen Sie den folgenden Beispielcode hinzu. Dieser Code
die Empfängerseite implementiert und die Google Cloud Pub/Sub API verwendet,
sobald sie verfügbar sind. Mit den verschiedenen Handler-Methoden werden Informationen
zu den entsprechenden Ereignissen.
def format_participant(participant: meet.Participant) -> str:
"""Formats a participant for display on the console."""
if participant.anonymous_user:
return f"{participant.anonymous_user.display_name} (Anonymous)"
if participant.signedin_user:
return f"{participant.signedin_user.display_name} (ID: {participant.signedin_user.user})"
if participant.phone_user:
return f"{participant.phone_user.display_name} (Phone)"
return "Unknown participant"
def fetch_participant_from_session(session_name: str) -> meet.Participant:
"""Fetches the participant for a session."""
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
# Use the parent path of the session to fetch the participant details
parsed_session_path = client.parse_participant_session_path(session_name)
participant_resource_name = client.participant_path(
parsed_session_path["conference_record"],
parsed_session_path["participant"])
return client.get_participant(name=participant_resource_name)
def on_conference_started(message: pubsub_v1.subscriber.message.Message):
"""Display information about a conference when started."""
payload = json.loads(message.data)
resource_name = payload.get("conferenceRecord").get("name")
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
conference = client.get_conference_record(name=resource_name)
print(f"Conference (ID {conference.name}) started at {conference.start_time.rfc3339()}")
def on_conference_ended(message: pubsub_v1.subscriber.message.Message):
"""Display information about a conference when ended."""
payload = json.loads(message.data)
resource_name = payload.get("conferenceRecord").get("name")
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
conference = client.get_conference_record(name=resource_name)
print(f"Conference (ID {conference.name}) ended at {conference.end_time.rfc3339()}")
def on_participant_joined(message: pubsub_v1.subscriber.message.Message):
"""Display information about a participant when they join a meeting."""
payload = json.loads(message.data)
resource_name = payload.get("participantSession").get("name")
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
session = client.get_participant_session(name=resource_name)
participant = fetch_participant_from_session(resource_name)
display_name = format_participant(participant)
print(f"{display_name} joined at {session.start_time.rfc3339()}")
def on_participant_left(message: pubsub_v1.subscriber.message.Message):
"""Display information about a participant when they leave a meeting."""
payload = json.loads(message.data)
resource_name = payload.get("participantSession").get("name")
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
session = client.get_participant_session(name=resource_name)
participant = fetch_participant_from_session(resource_name)
display_name = format_participant(participant)
print(f"{display_name} left at {session.end_time.rfc3339()}")
def on_recording_ready(message: pubsub_v1.subscriber.message.Message):
"""Display information about a recorded meeting when artifact is ready."""
payload = json.loads(message.data)
resource_name = payload.get("recording").get("name")
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
recording = client.get_recording(name=resource_name)
print(f"Recording available at {recording.drive_destination.export_uri}")
def on_transcript_ready(message: pubsub_v1.subscriber.message.Message):
"""Display information about a meeting transcript when artifact is ready."""
payload = json.loads(message.data)
resource_name = payload.get("transcript").get("name")
client = meet.ConferenceRecordsServiceClient(credentials=USER_CREDENTIALS)
transcript = client.get_transcript(name=resource_name)
print(f"Transcript available at {transcript.docs_destination.export_uri}")
def on_message(message: pubsub_v1.subscriber.message.Message) -> None:
"""Handles an incoming event from the Google Cloud Pub/Sub API."""
event_type = message.attributes.get("ce-type")
handler = {
"google.workspace.meet.conference.v2.started": on_conference_started,
"google.workspace.meet.conference.v2.ended": on_conference_ended,
"google.workspace.meet.participant.v2.joined": on_participant_joined,
"google.workspace.meet.participant.v2.left": on_participant_left,
"google.workspace.meet.recording.v2.fileGenerated": on_recording_ready,
"google.workspace.meet.transcript.v2.fileGenerated": on_transcript_ready,
}.get(event_type)
try:
if handler is not None:
handler(message)
message.ack()
except Exception as error:
print("Unable to process event")
print(error)
def listen_for_events(subscription_name: str = None):
"""Subscribe to events on the subscription."""
subscriber = pubsub_v1.SubscriberClient()
with subscriber:
future = subscriber.subscribe(subscription_name, callback=on_message)
print("Listening for events")
try:
future.result()
except KeyboardInterrupt:
future.cancel()
print("Done")
Code fertigstellen
Fügen Sie main.py
den folgenden Code hinzu, um die Methoden zum Erstellen des Gruppenbereichs aufzurufen, Ereignisse zu abonnieren und zu hören. Aktualisieren Sie die Konstanten TOPIC_NAME
und SUBSCRIPTION_NAME
mit Ihren eigenen Themen- und Abonamen, die Sie zuvor erstellt haben.
Fügen Sie den Code zu
main.py
hinzu:space = create_space() print(f"Join the meeting at {space.meeting_uri}") TOPIC_NAME = "projects/PROJECT_ID/topics/TOPIC_ID" SUBSCRIPTION_NAME = "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID" subscription = subscribe_to_space(topic_name=TOPIC_NAME, space_name=space.name) listen_for_events(subscription_name=SUBSCRIPTION_NAME)
Ersetzen Sie Folgendes:
PROJECT_ID
: Die eindeutige Cloud-Projekt-ID für Ihre App, z. B.my-sample-project-191923
.TOPIC_ID
: Der Name des Pub/Sub-Themas, das Sie die in Ihrem Cloud-Projekt erstellt wurden.SUBSCRIPTION_ID
: Der Name Ihres Abos, z. B. alsworkspace-events-sub
.
Führen Sie das Programm aus:
python3 main.py
Wenn Sie das Programm noch nicht ausgeführt haben, werden Sie zur Autorisierung aufgefordert. beim ersten Mal. Gewähren Sie der Anwendung Zugriff, um die Meet REST API aufzurufen. Nachdem das Programm erfolgreich ausgeführt wurde, sollte die Ausgabe in etwa so aussehen:
Join the meeting at https://meet.google.com/abc-mnop-xyz
An der Konferenz teilnehmen
Nehmen Sie über die URL an der Konferenz teil, um Ereignisse für die Anwendung zu generieren angezeigt wird. Nachdem Sie beigetreten sind, können Sie folgende Aktionen ausführen, um Trigger-Ereignisse:
- Verlassen Sie die Videokonferenz und treten Sie ihr wieder bei.
- Laden Sie andere ein oder wählen Sie sich über Ihr Telefon ein.
- Aktivieren Sie die Aufzeichnung und Transkription.
Jede dieser Aktivitäten generiert ein Ereignis, das die Anwendung empfängt und an die Google Cloud Console senden.
Du kannst ctrl-c
verwenden, um das Programm zu unterbrechen, wenn du fertig bist.
Optional: Weitere Schritte
Die Anwendung protokolliert grundlegende Details zu den Ereignissen. Wenn Sie mehr über die Meet REST API können Sie die Anwendung ändern, um diese zusätzlichen Aktionen.
- Verwenden Sie die People API, um zusätzliche Informationen über angemeldeten Teilnehmern
- Mit der Google Drive API können Sie Aufnahmen und Transkripte herunterladen.
- Anstatt Transkripte aus Google Drive herunterzuladen, können Sie sie mit das strukturierte Transkript Methoden in der Meet REST API.
Optional: Bereinigen
Damit Ihrem Google Cloud Console-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, empfehlen wir, alle erstellten Ressourcen und Projekte zu bereinigen.
So löschen Sie das Abo:
Console
Öffnen Sie in der Google Cloud Console das Menü. > Pub/Sub > Abos
Wählen Sie das Abonnement aus und klicken Sie auf
Weitere Aktionen.Klicken Sie auf Löschen. Das Fenster Abo löschen wird angezeigt.
Klicken Sie auf Löschen.
gcloud-CLI
So löschen Sie das Abo:
gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
So löschen Sie das Thema:
Console
Öffnen Sie in der Google Cloud Console das Menü. > Pub/Sub > Themen
Wählen Sie das Thema aus und klicken Sie auf
Weitere Aktionen.Klicken Sie auf Löschen. Das Fenster Thema löschen wird angezeigt.
Geben Sie
delete
ein und klicken Sie dann auf Löschen.
gcloud-CLI
So löschen Sie das Thema:
gcloud pubsub topics delete TOPIC_NAME
So löschen Sie das Projekt:
Console
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten. Klicken Sie auf Menü > IAM und Verwaltung > Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf löschen.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie zum Löschen auf Beenden. für das Projekt.
gcloud-CLI
Verwenden Sie zum Löschen eines Projekts die gcloud projects Löschen Befehl:
gcloud projects delete PROJECT_ID
Weitere Informationen
- Weitere Informationen Arten von Meet-Ereignissen, die Sie abonnieren können
- Weitere Informationen zu den Funktionen der Google Meet REST API und finden Sie in der Referenzdokumentation.
- Google Workspace-Abo erstellen für Meet-Konferenzräume oder für Nutzer*innen, die Google Workspace Events API
- Weitere Informationen zur Authentifizierung finden Sie unter OAuth-Zustimmungsbildschirm konfigurieren“. und wählen Sie Bereiche aus.