Obserwowanie wydarzeń dotyczących spotkań za pomocą Pythona i interfejsu Google Meet REST API

Z tego samouczka dowiesz się, jak używać interfejsu Google Meet API typu REST wraz z interfejsem Google Workspace Events API i Google Cloud Pub/Sub do obserwowania zdarzeń spotkań i reagowania na nie. Przykładowa aplikacja rejestruje godziny rozpoczęcia i zakończenia konferencji, dołączanie do spotkań lub opuszczanie oraz dostępność wygenerowanych artefaktów spotkania.

Więcej informacji o pracy ze zdarzeniami znajdziesz w artykule Subskrybowanie wydarzeń w Google Meet w dokumentacji interfejsu Google Workspace Events API.

Wymagania wstępne

Jeśli w organizacji musisz włączyć któreś z tych wymagań wstępnych, poproś administratora Google Workspace o ich włączenie:

Przygotowywanie środowiska

W tej sekcji na potrzeby tego samouczka dowiesz się, jak utworzyć i skonfigurować środowisko lokalne oraz projekt Google Cloud.

Utwórz katalog roboczy i środowisko wirtualne Pythona

Aby utworzyć i aktywować nowe środowisko wirtualne, uruchom w terminalu te polecenia:

Linux/macOS,

mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
source env/bin/activate

Windows (wiersz polecenia)

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

Utwórz projekt Google Cloud

Konsola Google Cloud

  1. W konsoli Google Cloud otwórz Menu > Administracja > Utwórz projekt.

    Otwórz stronę Tworzenie projektu

  2. W polu Project Name (Nazwa projektu) wpisz opisową nazwę projektu.

    Opcjonalnie: aby edytować identyfikator projektu, kliknij Edytuj. Po utworzeniu projektu identyfikatora nie można zmienić, dlatego wybierz taki identyfikator, który spełnia Twoje potrzeby przez cały okres użytkowania projektu.

  3. W polu Lokalizacja kliknij Przeglądaj, aby wyświetlić potencjalne lokalizacje dla Twojego projektu. Następnie kliknij Wybierz.
  4. Kliknij Utwórz. Konsola Google Cloud otworzy stronę panelu, a Twój projekt zostanie utworzony w ciągu kilku minut.

interfejs wiersza poleceń gcloud

W jednym z tych środowisk programistycznych uzyskaj dostęp do interfejsu wiersza poleceń Google Cloud (`gcloud`):

  • Cloud Shell: aby używać terminala online ze skonfigurowanym już interfejsem wiersza poleceń gcloud, aktywuj Cloud Shell.
    Aktywuj Cloud Shell
  • Powłoka lokalna: aby używać lokalnego środowiska programistycznego, zainstaluj i initialize interfejs wiersza poleceń gcloud.
    Aby utworzyć projekt Google Cloud, użyj polecenia `gcloud projects create`command:
    gcloud projects create PROJECT_ID
    Zastąp PROJECT_ID, ustawiając identyfikator projektu, który chcesz utworzyć.

Włącz płatności za projekt Google Cloud

Konsola Google Cloud

  1. W konsoli Google Cloud otwórz Rozliczenia. Kliknij Menu > Płatności > Moje projekty.

    Otwórz Płatności za moje projekty

  2. W sekcji Wybierz organizację wybierz organizację powiązaną z Twoim projektem Google Cloud.
  3. W wierszu projektu otwórz menu Działania (), kliknij Zmień ustawienia płatności i wybierz konto rozliczeniowe Cloud.
  4. Kliknij Ustaw konto.

interfejs wiersza poleceń gcloud

  1. Aby wyświetlić dostępne konta rozliczeniowe, uruchom polecenie:
    gcloud billing accounts list
  2. Połącz konto rozliczeniowe z projektem Google Cloud:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID

    Zastąp następujące elementy:

    • PROJECT_ID to identyfikator projektu dla projektu Cloud, w którym chcesz włączyć płatności.
    • BILLING_ACCOUNT_ID to identyfikator konta rozliczeniowego, które ma być połączone z projektem Google Cloud.

Konfigurowanie uwierzytelniania i autoryzacji

Uwierzytelnianie i autoryzacja umożliwia aplikacji dostęp do zasobów interfejsu Meet REST API. Wywoływanie interfejsu Meet API REST wymaga autoryzacji użytkownika. Z tej sekcji dowiesz się, jak skonfigurować dane logowania użytkownika i poprosić o autoryzację.

Skonfiguruj ekran zgody OAuth i wybierz zakresy

Poniżej znajdziesz sugerowane informacje o obiekcie zastępczym, które pozwolą Ci skonfigurować ekran akceptacji OAuth dla Twojej aplikacji. Zanim opublikujesz aplikację na zewnątrz, zaktualizuj te informacje.

  1. W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Ekran zgody OAuth.

    Otwórz ekran zgody OAuth

  2. W sekcji Typ użytkownika wybierz Wewnętrzny i kliknij Utwórz.
  3. W polu Nazwa aplikacji wpisz Meet REST API Tutorial.
  4. Wypełnij formularz rejestracji aplikacji, a potem kliknij Zapisz i kontynuuj.
  5. Kliknij Dodaj lub usuń zakresy. Pojawi się panel z listą zakresów każdego interfejsu API włączonego w projekcie Google Cloud.
  6. W sekcji Dodaj zakresy ręcznie wklej te zakresy:
    • https://www.googleapis.com/auth/meetings.space.created
  7. Kliknij Dodaj do tabeli.
  8. Kliknij Aktualizuj.
  9. Po wybraniu zakresów wymaganych przez aplikację kliknij Zapisz i kontynuuj.
  10. Jeśli jako typ użytkownika wybierzesz Zewnętrzny, dodaj użytkowników testowych:
    1. W sekcji Użytkownicy testowi kliknij Dodaj użytkowników.
    2. Wpisz swój adres e-mail i innych autoryzowanych użytkowników testowych, a następnie kliknij Zapisz i kontynuuj.
  11. Przejrzyj podsumowanie rejestracji aplikacji. Aby wprowadzić zmiany, kliknij Edytuj. Jeśli rejestracja aplikacji wygląda dobrze, kliknij Wróć do panelu.

Utwórz identyfikator klienta

Identyfikator klienta działa jako dane logowania dla aplikacji podczas przepływów OAuth 2.0. Aplikacja działa lokalnie, więc utwórz identyfikator klienta na komputer.

  1. W konsoli Google Cloud otwórz Menu > Interfejsy API i usługi > Dane logowania.

    Przejdź do danych logowania

  2. Kliknij Utwórz dane logowania > Identyfikator klienta OAuth.
  3. Kliknij Typ aplikacji > Aplikacja komputerowa.
  4. W polu Nazwa wpisz nazwę danych logowania. Ta nazwa jest wyświetlana tylko w konsoli Google Cloud.
  5. Kliknij Utwórz. Pojawi się ekran tworzenia klienta OAuth z nowym identyfikatorem klienta i tajnym kluczem klienta.
  6. Kliknij OK. Nowo utworzone dane logowania pojawią się w sekcji Identyfikatory klienta OAuth 2.0.

Instalowanie bibliotek uwierzytelniania Google

Zainstaluj biblioteki uwierzytelniania Google:

pip install google-auth google-auth-oauthlib

Wykonaj autoryzację

Interfejs Meet REST API wymaga danych logowania użytkownika w formie tokena dostępu OAuth 2.0. W tej sekcji wdrożysz przepływ OAuth 2.0, aby zażądać tokena dostępu i tokena odświeżania dla użytkownika.

  1. W katalogu roboczym utwórz plik main.py i dodaj tę zawartość:

    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()
    
  2. Do uruchomienia kodu wymagany jest zarówno identyfikator klienta, jak i utworzony wcześniej obiekt tajny. Skopiuj pobrany plik z tajnymi kluczami klienta do katalogu roboczego projektu i zmień jego nazwę na client_secret.json.

  3. Jeśli chcesz sprawdzić, jak działa autoryzacja, uruchom następujące polecenie. Aplikacja wyświetli prośbę o autoryzację i po zatwierdzeniu żądania utworzy plik token.json w katalogu roboczym projektu.

    python3 main.py
    

Dodawanie interfejsu Meet API typu REST

Po wpisaniu kodu autoryzacji możesz włączyć interfejs Meet REST API i wywołać go.

Włączanie interfejsów API

Chociaż ta sekcja dotyczy interfejsu Meet REST API, w tym samouczku używamy też interfejsów Google Cloud Pub/Sub i Google Workspace Events API.

Konsola Google Cloud

  1. W konsoli Google Cloud włącz interfejs Google Meet API typu REST, Google Workspace Events API i Google Cloud Pub/Sub.

    Włącz interfejsy API

  2. Sprawdź, czy interfejsy API są włączone we właściwym projekcie Cloud, a potem kliknij Dalej.

  3. Sprawdź, czy włączasz odpowiednie interfejsy API, a następnie kliknij Włącz.

interfejs wiersza poleceń gcloud

  1. W razie potrzeby ustaw bieżący projekt Cloud na ten utworzony za pomocą polecenia gcloud config set project:

    gcloud config set project PROJECT_ID
    

    Zastąp PROJECT_ID identyfikatorem utworzonego projektu Cloud.

  2. Włącz interfejs Google Meet API REST, Google Workspace Events API i Google Cloud Pub/Sub za pomocą polecenia gcloud services enable:

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

Instalowanie biblioteki klienta interfejsu Meet REST API

Aby zainstalować bibliotekę klienta interfejsu Meet REST API, wykonaj te czynności:

  1. Uruchom polecenie:

    pip install google-apps-meet
    
  2. Edytuj plik main.py, aby zaimportować klienta:

    from google.apps import meet_v2 as meet
    

Utwórz pokój

Interfejs Meet REST API jest już dostępny. Teraz zdefiniuj funkcję, aby utworzyć miejsce spotkań, które można subskrybować.

Edytuj main.py i dodaj:

def create_space() -> meet.Space:
    """Create a meeting space."""
    client = meet.SpacesServiceClient(credentials=USER_CREDENTIALS)
    request = meet.CreateSpaceRequest()
    return client.create_space(request=request)

Subskrybuj wydarzenia

Aby otrzymywać informacje o wydarzeniach dotyczących sali konferencyjnej, utwórz subskrypcję za pomocą interfejsu Google Workspace Events API. Musisz też utworzyć i zasubskrybować temat Google Cloud Pub/Sub, który będzie pełnił funkcję punktu końcowego powiadomień, w którym aplikacja odbiera zdarzenia.

Konfigurowanie Google Cloud Pub/Sub

Aby utworzyć i zasubskrybować temat Pub/Sub:

Konsola Google Cloud

  1. W konsoli Google Cloud otwórz Menu > Pub/Sub.

    Otwórz stronę Pub/Sub

    Upewnij się, że wybrany jest projekt Google Cloud dla Twojej aplikacji.

  2. Kliknij Utwórz temat i wykonaj te czynności:
    1. Wpisz workspace-events jako nazwę tematu.
    2. Pozostaw zaznaczone pole Dodaj domyślną subskrypcję.
    3. Kliknij Utwórz. Pełna nazwa tematu ma format projects/{project}/topics/{topic}. Zanotuj ją do wykorzystania w kolejnych krokach.
  3. Przyznaj uprawnienia do publikowania wiadomości Pub/Sub w temacie:
    1. W panelu bocznym otwórz kartę Uprawnienia.
    2. Kliknij Dodaj podmiot zabezpieczeń.
    3. W sekcji Nowe podmioty zabezpieczeń wpisz meet-api-event-push@system.gserviceaccount.com.
    4. W sekcji Przypisywanie ról wybierz Pub/Sub Publisher.
    5. Kliknij Zapisz.

    Aktualizacja uprawnień tematu może potrwać kilka minut.

interfejs wiersza poleceń gcloud

  1. Utwórz temat w projekcie Cloud, uruchamiając to polecenie:
    gcloud pubsub topics create workspace-events

    W danych wyjściowych pojawi się pełna nazwa tematu w formacie projects/{project}/topics/{topic}. Zanotuj ją do wykorzystania w kolejnych krokach.

  2. Przyznaj uprawnienia do publikowania wiadomości w temacie:
     gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:meet-api-event-push@system.gserviceaccount.com' --role='roles/pubsub.publisher'

    Aktualizacja uprawnień tematu może potrwać kilka minut.

  3. Utwórz subskrypcję Pub/Sub dla tematu:
    gcloud pubsub subscriptions create workspace-events-sub --topic=TOPIC_NAME

    Zastąp następujące elementy:

    • TOPIC_NAME: nazwa tematu utworzonego w poprzednim kroku.

Zanotuj nazwę tematu i upewnij się, że wartość {project} jest identyfikatorem projektu Cloud dla Twojej aplikacji. Później użyjesz nazwy tematu do utworzenia subskrypcji Google Workspace.

Tworzenie konta usługi

Konsola Google Cloud

  1. W konsoli Google Cloud otwórz Menu > Administracja > Konta usługi.

    Otwórz stronę Konta usługi

  2. Kliknij Utwórz konto usługi.
  3. Wpisz szczegóły konta usługi, a potem kliknij Utwórz i kontynuuj.
  4. Opcjonalnie: przypisz role do swojego konta usługi, aby przyznać dostęp do zasobów projektu Google Cloud. Więcej informacji znajdziesz w artykule Przyznawanie, zmienianie i odbieranie dostępu do zasobów.
  5. Kliknij Dalej.
  6. Opcjonalnie: wpisz użytkowników lub grupy, które mogą zarządzać kontem usługi i wykonywać na nim działania. Więcej informacji znajdziesz w artykule Zarządzanie przyjęciem tożsamości konta usługi.
  7. Kliknij Gotowe. Zanotuj adres e-mail konta usługi.

interfejs wiersza poleceń gcloud

  1. Utwórz konto usługi:
    gcloud iam service-accounts create meet-event-listener \
      --display-name="meet-event-listener"
  2. Opcjonalnie: przypisz role do swojego konta usługi, aby przyznać dostęp do zasobów projektu Google Cloud. Więcej informacji znajdziesz w artykule Przyznawanie, zmienianie i odbieranie dostępu do zasobów.

Użyj konta usługi

Po utworzeniu konta usługi przyznaj sobie dostęp umożliwiający przyjęcie tożsamości konta usługi.

Konsola Google Cloud

  1. W kolumnie Działania obok nowo utworzonego konta usługi kliknij > Zarządzaj uprawnieniami.
  2. Kliknij Dodaj klucz > Przyznaj dostęp.
  3. Wpisz swój adres e-mail w sekcji Dodaj podmioty zabezpieczeń.
  4. Jako rolę wybierz Konta usługi > Twórca tokenów konta usługi.
  5. Kliknij Zapisz.
  6. Wróć do terminala i zaloguj się przy użyciu adresu gcloud, aby ustawić domyślne dane logowania aplikacji na konto usługi. Gdy pojawi się prośba o autoryzację, zaloguj się na to samo konto, którego użyto w poprzednich krokach.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

interfejs wiersza poleceń gcloud

  1. Aby dodać uprawnienie, uruchom gcloud iam service-accounts add-iam-policy-binding przy użyciu adresu e-mail konta usługi i użytkownika.
    gcloud iam service-accounts add-iam-policy-binding \
      SERVICE_ACCOUNT_EMAIL \
      --member="user:YOUR_EMAIL \
      --role="roles/iam.serviceAccountTokenCreator"
  2. Zaloguj się, aby ustawić domyślne dane logowania do aplikacji na koncie usługi. Gdy pojawi się prośba o autoryzację, zaloguj się na to samo konto, którego użyto w poprzednich krokach.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

Instalowanie biblioteki klienta Pub/Sub

  1. Użyj pip, aby zainstalować bibliotekę klienta dla Pub/Sub:

    pip install google-cloud-pubsub
    
  2. Następnie zmodyfikuj main.py, aby zaimportować klienta:

    from google.cloud import pubsub_v1
    

Tworzenie subskrypcji Google Workspace

Dodaj ten kod do main.py, aby zdefiniować metodę subskrybowania zdarzeń Meet. Ten kod umożliwia subskrybowanie wszystkich zdarzeń dotyczących pokoju spotkań. Po zasubskrybowaniu wydarzenia są publikowane w temacie Pub/Sub.

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

Następnie dodaj odpowiedni kod, aby pobierać i przetwarzać zdarzenia.

Wykrywaj zdarzenia i obsługuj je

Kontynuuj edycję main.py i dodaj ten przykładowy kod. Ten kod implementuje stronę odbierającą i używa interfejsu Google Cloud Pub/Sub API do pobierania zdarzeń w miarę ich udostępniania. Różne metody obsługi wyświetlają informacje o poszczególnych zdarzeniach.

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")

Dokończ kod

Dodaj do main.py ten kod, aby wywoływać metody tworzenia pokoju, subskrybowania zdarzeń i nasłuchiwania. Zaktualizuj stałe TOPIC_NAME i SUBSCRIPTION_NAME, podając własne nazwy tematów i subskrypcji, które zostały przez Ciebie utworzone.

  1. Dodaj kod do main.py:

    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)
    

    Zastąp następujące elementy:

    • PROJECT_ID: unikalny identyfikator projektu Cloud dla aplikacji, np. my-sample-project-191923.

    • TOPIC_ID: nazwa tematu Pub/Sub utworzonego przez Ciebie w projekcie Cloud.

    • SUBSCRIPTION_ID: nazwa subskrypcji, na przykład workspace-events-sub.

  2. Uruchom program:

    python3 main.py
    

Jeśli ten program nie został wcześniej uruchomiony, po raz pierwszy wyświetli się prośba o autoryzację. Przyznaj aplikacji dostęp, aby móc wywoływać interfejs Meet REST API. Po uruchomieniu programu powinny wyświetlić się wyniki podobne do tych:

Join the meeting at https://meet.google.com/abc-mnop-xyz

Dołącz do konferencji

Aby wygenerować zdarzenia dla aplikacji, dołącz do konferencji za pomocą adresu URL wyświetlanego przez aplikację. Po dołączeniu możesz wypróbować te działania w celu wywołania zdarzeń:

  • Opuść spotkanie i dołącz do niego ponownie.
  • Zaproś innych lub dołącz przez telefon.
  • Włącz nagrywanie i transkrypcję.

Każde z tych działań generuje zdarzenie, które aplikacja odbiera i loguje w konsoli Google Cloud.

Użyj ctrl-c, aby przerwać program, gdy skończysz.

Opcjonalnie: dodatkowe kroki do wypróbowania

Aplikacja rejestruje podstawowe informacje o zdarzeniach. Aby nadal poznawać interfejs API REST Meet, spróbuj zmodyfikować aplikację i wykonać te dodatkowe działania.

Opcjonalnie: wyczyść

Aby uniknąć obciążenia konta konsoli Google Cloud opłatami za zasoby zużyte w tym samouczku, zalecamy wyczyszczenie wszystkich utworzonych zasobów i projektów.

Aby usunąć subskrypcję:

Konsola

  1. W konsoli Google Cloud otwórz Menu > Pub/Sub > Subskrypcje

    Otwórz stronę Subskrypcje

  2. Wybierz subskrypcję i kliknij Więcej działań.

  3. Kliknij Usuń. Pojawi się okno Usuń subskrypcję.

  4. Kliknij Usuń.

interfejs wiersza poleceń gcloud

  1. Usuń subskrypcję:

    gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
    

Aby usunąć temat:

Konsola

  1. W konsoli Google Cloud otwórz Menu > Pub/Sub > Tematy

    Otwórz Tematy

  2. Wybierz temat i kliknij Więcej czynności.

  3. Kliknij Usuń. Pojawi się okno Usuń temat.

  4. Wpisz delete i kliknij Usuń.

interfejs wiersza poleceń gcloud

  1. Usuń temat:

    gcloud pubsub topics delete TOPIC_NAME
    

Aby usunąć projekt:

Konsola

  1. W konsoli Google Cloud otwórz stronę Zarządzanie zasobami. Kliknij Menu > Administracja > Zarządzaj zasobami.

    Otwórz Menedżera zasobów

  2. Na liście projektów wybierz projekt do usunięcia, a następnie kliknij Usuń .
  3. W oknie wpisz identyfikator projektu i kliknij Wyłącz, aby usunąć projekt.

interfejs wiersza poleceń gcloud

  1. Aby usunąć projekt, użyj polecenia gcloud projects delete:

    gcloud projects delete PROJECT_ID