Python ve Google Meet REST API ile toplantı etkinliklerini gözlemleme

Bu eğitimde, Google Workspace Events API ve Google Cloud Pub/Sub'da gözlem ve tepki verme veya toplantı etkinlikleri ekleyin. Örnek uygulama, konferansların başladığı ve bittiği zamanları kaydeder. katılımcılar katıldığında, ayrıldığında ve oluşturulan toplantı yapıları kullanılabilir.

Etkinliklerle çalışma hakkında daha fazla bilgi edinmek için Google Meet'e abone olma başlıklı makaleyi inceleyin. Google Workspace Events API'deki etkinlikler belgelerinden faydalanabilirsiniz.

Ön koşullar

Kuruluşunuzda bu ön koşullardan herhangi birinin etkinleştirilmesi gerekiyorsa Google Workspace yöneticinize başvurarak:

Ortamınızı hazırlayın

Bu bölümde, yerel ortamınızı nasıl oluşturup yapılandıracağınız ve Google Cloud projesine bakın.

Çalışma dizini ve Python sanal ortamı oluşturun

Yeni bir sanal ortam oluşturmak ortam kullanıyorsanız aşağıdaki komutu çalıştırın komutlarının gösterilmesini sağlayabilirsiniz.

Linux/macOS

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

Windows (komut istemi)

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 projesi oluşturma

Google Cloud Console

  1. Google Cloud konsolunda Menü'ye gidin > IAM ve Yönetici > Proje oluşturun'u tıklayın.

    Proje Oluştur'a gidin

  2. Proje Adı alanına projeniz için açıklayıcı bir ad girin.

    İsteğe bağlı: Proje Kimliği'ni düzenlemek için Düzenle'yi tıklayın. Proje kimliği değiştirilemez Bu nedenle, ilk deneme süresi boyunca ihtiyaçlarınızı karşılayan bir kimlik seçin. belirler.

  3. Konum alanında, işletmenizin olası konumlarını görüntülemek için Göz at'ı tıklayın belirler. Ardından Seç'i tıklayın.
  4. Oluştur'u tıklayın. Google Cloud Console, Kontrol Paneli sayfasına gider ve projeniz oluşturulur birkaç dakika.

gcloud CLI

Aşağıdaki geliştirme ortamlarından birinde Google Cloud KSA (`gcloud`):

  • Cloud Shell: gcloud CLI ile online terminal kullanmak için Cloud Shell'i etkinleştirin.
    . Cloud Shell'i etkinleştir
  • Yerel Kabuk: Yerel geliştirme ortamı kullanmak için yükle ve başlatmak öğrenin.
    . Bir Cloud projesi oluşturmak için "gcloud projects create" komutunu kullanın:
    gcloud projects create PROJECT_ID
    Oluşturmak istediğiniz projenin kimliğini ayarlayarak PROJECT_ID değerini değiştirin.

Google Cloud projesi için faturalandırmayı etkinleştirin

Google Cloud Console

  1. Google Cloud konsolunda Faturalandırma'ya gidin. Sonraki slayta geçin Menü > Faturalandırma > Projelerim'i tıklayın.

    Projelerim İçin Faturalandırma'ya gidin

  2. Bir kuruluş seçin bölümünde, ilişkili kuruluşu seçin Google Cloud projenize ekleyin.
  3. Proje satırında İşlemler menüsünü açın (), Faturalandırmayı değiştir'i tıklayın ve Cloud Faturalandırma Hesabı'nı seçin.
  4. Hesap belirle'yi tıklayın.

gcloud CLI

  1. Kullanılabilir faturalandırma hesaplarını listelemek için şu komutu çalıştırın:
    gcloud billing accounts list
    .
  2. Faturalandırma hesabını bir Google Cloud projesine bağlayın:
    gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
    .

    Aşağıdakini değiştirin:

    • PROJECT_ID şu öğenin Proje Kimliğidir: Faturalandırmayı etkinleştirmek istediğiniz bulut projesi.
    • BILLING_ACCOUNT_ID, bağlanacak faturalandırma hesabı kimliğidir. Google Cloud projesinden bahsedeceğiz.

Kimlik doğrulama ve yetkilendirme ayarlarını yapma

Kimlik doğrulama ve yetkilendirme, uygulamanın Meet REST API'ye erişmesine olanak tanır kaynaklar. Meet REST API'yi çağırmak için kullanıcı yetkilendirmesi gerekir. Bu bölümde, kullanıcı kimlik bilgilerini ve istek ayarlarını nasıl yapılandıracağınız yetkilendirme.

OAuth izin ekranını yapılandırın ve kapsamları seçin

Aşağıdaki adımlar, yapılandırılacak yer tutucu bilgileri önerir OAuth izin ekranını en iyi şekilde yararlanabilirsiniz. Uygulamayı harici olarak yayınlamadan önce bu bilgileri güncelleyin.

  1. Google Cloud konsolunda Menü'ye gidin > API'lar ve Hizmetler > OAuth izin ekranı.

    OAuth izin ekranına gidin.

  2. Kullanıcı türü bölümünde Dahili'yi seçin ve ardından Oluştur'u tıklayın.
  3. Uygulama adı alanına Meet REST API Tutorial yazın.
  4. Uygulama kayıt formunu doldurup Kaydet ve Devam Et'i tıklayın.
  5. Kapsam Ekle veya Kaldır'ı tıklayın. Kapsamların listesini içeren bir panel görüntülenir Google Cloud projenizde etkinleştirdiğiniz her API için.
  6. Kapsamları manuel olarak ekle bölümüne aşağıdaki kapsamları yapıştırın:
    • https://www.googleapis.com/auth/meetings.space.created
  7. Add to Table'ı (Tabloya Ekle) tıklayın.
  8. Güncelle'yi tıklayın.
  9. Kapsamlar seçildikten sonra uygulamanızın yanındaki Kaydet ve Devam Et'i tıklayın.
  10. Kullanıcı türü olarak Harici'yi seçtiyseniz test kullanıcıları ekleyin:
    1. Test kullanıcıları bölümünde Kullanıcı ekle'yi tıklayın.
    2. E-posta adresinizi ve diğer yetkili test kullanıcılarını girip Kaydet ve Devam Et'i tıklayın.
  11. Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama Kontrol Paneline Dön'ü tıklayın.

İstemci kimliği oluşturun

İstemci kimliği, OAuth 2.0 sırasında uygulamanızın kimlik bilgisi olarak işlev görür akış gösterir. Uygulama yerel olarak çalıştığından masaüstü istemci kimliği oluşturun.

  1. Google Cloud konsolunda Menü > API'ler ve Hizmetler > Kimlik bilgileri.

    Kimlik bilgilerine git

  2. Kimlik Bilgisi Oluştur > OAuth istemci kimliği'ni tıklayın.
  3. Uygulama türü > Masaüstü uygulaması'nı tıklayın.
  4. Ad alanına kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud konsolunda gösterilir.
  5. Oluştur'u tıklayın. Yeni İstemci Kimliğiniz ve İstemci sırrınızın gösterildiği, OAuth istemcisi oluşturuldu ekranı görüntülenir.
  6. Tamam'ı tıklayın. Yeni oluşturulan kimlik bilgisi OAuth 2.0 İstemci Kimlikleri altında görünür.

Google kimlik doğrulama kitaplıklarını yükleyin

Google kimlik doğrulama kitaplıklarını yükleyin:

pip install google-auth google-auth-oauthlib

Yetkilendirmeyi yürüt

Meet REST API, OAuth 2.0 biçiminde kullanıcı kimlik bilgileri gerektirir. erişim jetonu. Bu bölümde, OAuth 2.0 akışını uygulayarak erişim jetonu ve kullanıcı için bir yenileme jetonu bulunmalıdır.

  1. Çalışma dizininizde main.py dosyasını oluşturun ve aşağıdakini ekleyin içerik:

    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. Kodu çalıştırmak için hem istemci kimliği hem de daha önce oluşturulan gizli anahtar gereklidir. İndirilen istemci gizli anahtarı dosyasını çalışan projeye kopyalayın dizini oluşturup client_secret.json olarak yeniden adlandırabilirsiniz.

  3. Yetkilendirmenin nasıl çalıştığını test etmek isterseniz aşağıdaki komutu çalıştırın. Uygulama yetkilendirme ister vetoken.json proje çalışma dizinini oluşturur.

    python3 main.py
    

Meet REST API'yi ekleme

Yetkilendirme kodu tamamlandığına göre, şimdi sıra REST API ile tanışın.

API'leri etkinleştirme

Bu bölümde Meet REST API'ye odaklanılsa da bu eğitimde Google Cloud Pub/Sub ve Google Workspace Events API.

Google Cloud Console

  1. Google Cloud konsolunda Google Meet REST API'yi etkinleştirin. Google Workspace Events API ve Google Cloud Pub/Sub.

    API'ler

  2. API'leri doğru şekilde etkinleştirdiğinizden emin olun. Cloud projesine, ardından İleri'yi tıklayın.

  3. Doğru API'leri etkinleştirdiğinizden emin olun ve ardından Etkinleştir'i tıklayın.

gcloud CLI

  1. Gerekirse mevcut Cloud projesini oluşturduğunuz projeye ayarlayın gcloud config set project komutuyla oluşturulur:

    gcloud config set project PROJECT_ID
    

    PROJECT_ID değerini projenin Proje Kimliği ile değiştirin Oluşturduğunuz Cloud projesi.

  2. Google Meet REST API, Google Workspace Events API ve gcloud services enable komutuyla Google Cloud Pub/Sub:

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

Meet REST API istemci kitaplığını yükleme

Meet REST API istemci kitaplığını yüklemek için şu adımları uygulayın:

  1. Şu komutu çalıştırın:

    pip install google-apps-meet
    
  2. İstemciyi içe aktarmak için main.py dosyasını düzenleyin:

    from google.apps import meet_v2 as meet
    

Alan oluştur

Meet REST API kullanıma sunuldu. Şimdi bir işlev tanımlayarak bir toplantı alanına sahip olun.

main.py öğesini düzenle ve ekle:

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

Etkinliklere abone olma

Bir toplantı alanıyla ilgili etkinlikleri almak için Google Workspace Events API. Ayrıca, aynı zamanda Google Cloud Pub/Sub konusu, Uygulama, etkinlikleri alır.

Google Cloud Pub/Sub'ı yapılandırma

Pub/Sub konusu oluşturmak ve bu konuya abone olmak için:

Google Cloud Console

  1. Google Cloud konsolunda Menü'ye gidin > Pub/Sub.

    Pub/Sub'a git

    Uygulamanız için Cloud projesinin seçildiğinden emin olun.

  2. Konu oluştur'u tıklayın ve takip etmek için:
    1. Konu adı olarak workspace-events girin.
    2. Varsayılan bir abonelik ekle seçeneğini seçili bırakın.
    3. Oluştur'u tıklayın. Tam konu adınız şu şekilde biçimlendirilir: projects/{project}/topics/{topic} Not yaz sonraki adımlarda kullanmak üzere bu adı değiştirin.
  3. Konunuza Pub/Sub mesajları yayınlamak için erişim verin:
    1. Yan panelde İzinler sekmesini tıklayın.
    2. Ana Hesap Ekle'yi tıklayın.
    3. New principals (Yeni ana hesaplar) alanına [email protected] yazın.
    4. Rol atayın bölümünde Pub/Sub Publisher'i seçin.
    5. Kaydet'i tıklayın.

    Konunuzun izinlerinin güncellenmesi birkaç dakika sürebilir.

gcloud CLI

  1. Cloud projenizde aşağıdaki komutu çalıştırarak bir konu oluşturun:
    gcloud pubsub topics create workspace-events
    .

    Çıkış, konu adının tamamını projects/{project}/topics/{topic} Not yaz sonraki adımlarda kullanmak üzere bu adı değiştirin.

  2. Konunuzla ilgili mesaj yayınlamak için erişim verin:
     gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:[email protected]' --role='roles/pubsub.publisher'
    .

    Konunuzun izinlerinin güncellenmesi birkaç dakika sürebilir.

  3. Konu için bir Pub/Sub aboneliği oluşturun:
    gcloud pubsub subscriptions create workspace-events-sub --topic=TOPIC_NAME
    .

    Aşağıdakini değiştirin:

    • TOPIC_NAME: Oluşturduğunuz konunuzun adı ele alacağız.

Konu adını not edin ve {project} değerinin Uygulamanızın bulut projesi kimliği. Konu adını kullanarak Google Workspace aboneliğini daha sonra da kullanabilirsiniz.

Hizmet hesabı oluşturma

Google Cloud Console

  1. Google Cloud konsolunda Menü'ye gidin > IAM ve Yönetici > Hizmet Hesapları.

    Hizmet Hesapları'na git

  2. Hizmet hesabı oluştur'u tıklayın.
  3. Hizmet hesabı ayrıntılarını doldurun, ardından Oluştur ve devam et'i tıklayın.
  4. İsteğe bağlı: Google Cloud projenizin kaynaklarına erişim izni vermek için hizmet hesabınıza roller atayın. Daha ayrıntılı bilgi için Kaynaklara erişim izni verme, erişimi değiştirme ve iptal etme başlıklı makaleyi inceleyin.
  5. Devam'ı tıklayın.
  6. İsteğe bağlı: Bu hizmet hesabıyla işlemleri yönetebilen ve gerçekleştirebilen kullanıcıları veya grupları girin. Daha fazla bilgi için Hizmet hesabı kimliğine bürünmeyi yönetme başlıklı makaleye bakın.
  7. Bitti'yi tıklayın. Hizmet hesabının e-posta adresini not edin.

gcloud CLI

  1. Hizmet hesabını oluşturun:
    gcloud iam service-accounts create meet-event-listener \
      --display-name="meet-event-listener"
    .
  2. İsteğe bağlı: Google Cloud projenizin kaynaklarına erişim izni vermek için hizmet hesabınıza roller atayın. Daha ayrıntılı bilgi için Kaynaklara erişim izni verme, erişimi değiştirme ve iptal etme başlıklı makaleyi inceleyin.

Hizmet hesabını kullanma

Hizmet hesabını oluşturduktan sonra, hizmet hesabı.

Google Cloud Console

  1. Yeni oluşturulan hizmet hesabının İşlemler sütununda, > İzinleri yönet'e dokunun.
  2. Anahtar ekle'yi tıklayın. > Erişim izni ver'e dokunun.
  3. Ana hesap ekle bölümünün altına e-posta adresinizi girin.
  4. Hizmet hesapları > Hizmet Hesabı Jetonu Oluşturucu'yu seçin açıklayacağım.
  5. Kaydet'i tıklayın.
  6. Terminalinize geri dönün ve gcloud ile oturum açarak uygulama varsayılan kimlik bilgilerini hizmet hesabı. Yetkilendirme istendiğinde hesabı seçin.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

gcloud CLI

  1. İzni eklemek için gcloud iam service-accounts add-iam-policy-binding komutunu çalıştırın. e-posta adresini kullanarak oturum açın.
    gcloud iam service-accounts add-iam-policy-binding \
      SERVICE_ACCOUNT_EMAIL \
      --member="user:YOUR_EMAIL \
      --role="roles/iam.serviceAccountTokenCreator"
  2. Uygulama varsayılan kimlik bilgilerini hizmet hesabı. Yetkilendirme istendiğinde hesabı seçin.
    gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL

Pub/Sub istemci kitaplığını yükleme

  1. pip kullanarak Pub/Sub için istemci kitaplığını yükleyin:

    pip install google-cloud-pubsub
    
  2. Ardından istemciyi içe aktarmak için main.py öğesini düzenleyin:

    from google.cloud import pubsub_v1
    

Google Workspace aboneliğini oluşturma

Abone olma yöntemini tanımlamak için main.py için aşağıdaki kodu ekleyin Meet etkinlikleri. Bu kod, bir toplantıdaki tüm etkinliklere abone olmanızı sağlar boşluk oluşturur. Abone olunduğunda etkinlikler Pub/Sub konusuna yayınlanır.

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

Daha sonra, etkinlikleri çekmek ve işlemek için ilgili kodu ekleyin.

Etkinlikleri dinleme ve işleme

main.py öğesini düzenlemeye devam edin ve aşağıdaki örnek kodu ekleyin. Bu kod gönderen tarafı uygular ve pull etmek için Google Cloud Pub/Sub API'yi etkinliği gösterilir. Çeşitli işleyici yöntemleri bilgileri yazdırır sorular sorun.

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

Kodu tamamlama

Alanı oluşturma yöntemlerini çağırmak için main.py öğesine aşağıdaki kodu ekleyin, etkinliklere abone olabilir ve dinleyebilirsiniz. TOPIC_NAME cihazını güncelleyin ve kendi konunuzu içeren SUBSCRIPTION_NAME sabit değer ve abonelik isimlerini görebilirsiniz. oluşturuldu.

  1. Kodu main.py içine ekleyin:

    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)
    

    Aşağıdakini değiştirin:

    • PROJECT_ID: Şu ürünlere ait benzersiz Cloud projesinin kimliği: my-sample-project-191923 örneğinde bulabilirsiniz.

    • TOPIC_ID: Oluşturduğunuz Pub/Sub konusunun adı Cloud projenizde oluşturulur.

    • SUBSCRIPTION_ID: Aboneliğinizin adı (ör. workspace-events-sub olarak.

  2. Programı çalıştırın:

    python3 main.py
    

Daha önce programı çalıştırmadıysanız ilk kez. Meet REST API'yi çağırmak için uygulamaya erişim izni verin. Program başarıyla çalıştırıldıktan sonra, şuna benzer bir çıkış görürsünüz:

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

Konferansa katıl

Uygulama için etkinlik oluşturmak için URL'yi kullanarak konferansa katılın uygulama tarafından görüntülenir. Katıldıktan sonra şu işlemleri deneyebilirsiniz: tetikleyici etkinlikler:

  • Toplantıdan ayrılıp toplantıya yeniden katılın.
  • Başkalarını davet edin veya telefonunuzla katılabilirsiniz.
  • Kayıtları ve transkriptleri etkinleştirin.

Bu etkinliklerin her biri, uygulamanın alacağı bir etkinlik oluşturur ve Google Cloud Console'da oturum açın.

İşiniz bittiğinde programı kesmek için ctrl-c düğmesini kullanın.

İsteğe bağlı: Deneyebileceğiniz ek adımlar

Uygulama, etkinliklerle ilgili temel ayrıntıları günlüğe kaydeder. Keşfetmeye devam etmek için REST API ile tanışın. Bu ek işlemleri gerçekleştirmek için uygulamada değişiklik yapmayı deneyin işlemlerdir.

İsteğe bağlı: Temizleme

Kaynaklar için Google Cloud Console hesabınızın ücretlendirilmesini önlemek amacıyla fazla kaynak ve projeleri temizlemenizi öneririz. oluşturuldu.

Aboneliği silmek için:

Konsol

  1. Google Cloud konsolunda Menü'ye gidin . > Pub/Sub > Abonelikler

    Abonelikler'e git

  2. Aboneliği seçin ve Diğer işlemler.

  3. Sil'i tıklayın. Aboneliği sil penceresi görünür.

  4. Sil'i tıklayın.

gcloud CLI

  1. Aboneliği silme:

    gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
    

Konuyu silmek için:

Konsol

  1. Google Cloud konsolunda Menü'ye gidin . > Pub/Sub > Konular

    Konular'a git

  2. Konuyu seçin ve Diğer işlemler.

  3. Sil'i tıklayın. Konuyu sil penceresi görünür.

  4. delete yazın ve ardından Sil'i tıklayın.

gcloud CLI

  1. Konuyu silin:

    gcloud pubsub topics delete TOPIC_NAME
    

Projeyi silmek için:

Konsol

  1. Google Cloud konsolunda Kaynakları yönetin sayfasına gidin. Sonraki slayta geçin Menü > IAM ve Yönetici > Kaynakları Yönetin.

    Resource Manager'a git 'nı inceleyin.

  2. Proje listesinden silmek istediğiniz projeyi seçin ve ardından Sil: .
  3. İletişim kutusuna proje kimliğini yazın ve silmek için Kapat'ı tıklayın gösterir.

gcloud CLI

  1. Proje silmek için gcloud projects sil komut:

    gcloud projects delete PROJECT_ID