Bu eğitimde, toplantı etkinliklerini gözlemlemek ve bunlara tepki vermek için Google Meet REST API'nin Google Workspace Events API ve Google Cloud Pub/Sub ile birlikte nasıl kullanılacağı gösterilmektedir. Örnek uygulama, konferansların ne zaman başladığı ve bittiği, katılımcıların katıldığı veya ayrıldığı ve oluşturulan toplantı yapılarının ne zaman kullanılabilir olduğu bilgisini kaydeder.
Etkinliklerle çalışma hakkında daha fazla bilgi edinmek için Google Workspace Events API belgelerindeki Google Meet etkinliklerine abone olma bölümüne bakın.
Ön koşullar
Kuruluşunuzda bu ön koşullardan herhangi birinin etkinleştirilmesi gerekiyorsa Google Workspace yöneticinizden bunları etkinleştirmesini isteyin:
- Google Meet'e erişimi olan bir Google Workspace hesabı.
- Google Cloud projesi oluşturma erişimi.
- Python 3 yüklendi.
- gcloud CLI yüklü olmalıdır.
Ortamınızı hazırlayın
Bu bölümde, yerel ortamınızı ve Google Cloud projesini nasıl oluşturup yapılandıracağınız gösterilmektedir.
Çalışma dizini ve Python sanal ortamı oluşturun
Yeni bir sanal ortam oluşturup etkinleştirmek için terminalinizde aşağıdaki komutları çalıştırın.
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
- Google Cloud konsolunda Menü > IAM ve Yönetici > Proje Oluştur'a gidin.
-
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, proje oluşturulduktan sonra değiştirilemez. Bu nedenle, projenin ömrü boyunca ihtiyaçlarınıza uygun bir kimlik seçin.
- Konum alanında, projenizin olası konumlarını görüntülemek için Göz at'ı tıklayın. Ardından Seç'i tıklayın.
- Oluştur'u tıklayın. Google Cloud Console, Kontrol Paneli sayfasına gider ve projeniz birkaç dakika içinde oluşturulur.
gcloud CLI
Aşağıdaki geliştirme ortamlarından birinde Google Cloud KSA'ya ("gcloud") erişin:
-
Cloud Shell: gcloud CLI'nin halihazırda kurulu olduğu bir online terminal kullanmak için Cloud Shell'i etkinleştirin.
Cloud Shell'i etkinleştir -
Yerel Kabuk: Yerel bir geliştirme ortamı kullanmak için gcloud CLI'ı yükleyin ve initialize.
Cloud projesi oluşturmak için `gcloud projects create`komutunu kullanın:gcloud projects create PROJECT_ID
Google Cloud projesi için faturalandırmayı etkinleştirin
Google Cloud Console
- Google Cloud konsolunda Faturalandırma'ya gidin. Menü > Faturalandırma > Projelerim'i tıklayın.
- Kuruluş seçin bölümünde Google Cloud projenizle ilişkili kuruluşu seçin.
- 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.
- Hesap belirle'yi tıklayın.
gcloud CLI
- Kullanılabilir faturalandırma hesaplarını listelemek için şu komutu çalıştırın:
gcloud billing accounts list
- 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
, faturalandırmayı etkinleştirmek istediğiniz Cloud projesinin Proje Kimliği'dir.BILLING_ACCOUNT_ID
, Google Cloud projesine bağlanacak faturalandırma hesabı kimliğidir.
Kimlik doğrulama ve yetkilendirme ayarlarını yapma
Kimlik doğrulama ve yetkilendirme, uygulamanın Meet REST API kaynaklarına erişmesine olanak tanır. Meet REST API'yi çağırmak için kullanıcı yetkilendirmesi gerekir. Bu bölümde, kullanıcı kimlik bilgilerini nasıl yapılandıracağınız ve yetkilendirme isteğinde nasıl bulunacağınız açıklanmaktadır.
OAuth izin ekranını yapılandırın ve kapsamları seçin
Aşağıdaki adımlarda, uygulamanızın OAuth izin ekranını yapılandırmak için yer tutucu bilgileri önerilir. Uygulamayı harici olarak yayınlamadan önce bu bilgiyi güncelleyin.
- Google Cloud konsolunda Menü > API'ler ve Hizmetler > OAuth izin ekranı'na gidin.
- Kullanıcı türü bölümünde Dahili'yi seçin ve ardından Oluştur'u tıklayın.
- Uygulama adı alanına
Meet REST API Tutorial
yazın. - Uygulama kayıt formunu doldurup Kaydet ve Devam Et'i tıklayın.
- Kapsam Ekle veya Kaldır'ı tıklayın. Google Cloud projenizde etkinleştirdiğiniz her API için kapsamların listesini içeren bir panel görünür.
- Kapsamları manuel olarak ekle bölümüne aşağıdaki kapsamları yapıştırın:
https://www.googleapis.com/auth/meetings.space.created
- Add to Table'ı (Tabloya Ekle) tıklayın.
- Güncelle'yi tıklayın.
- Uygulamanızın gerektirdiği kapsamları seçtikten sonra Kaydet ve Devam Et'i tıklayın.
- Kullanıcı türü olarak Harici'yi seçtiyseniz test kullanıcılarını ekleyin:
- Test kullanıcıları bölümünde Kullanıcı ekle'yi tıklayın.
- E-posta adresinizi ve diğer yetkili test kullanıcılarını girin, ardından Kaydet ve Devam Et'i tıklayın.
- Uygulama kaydı özetinizi inceleyin. Değişiklik yapmak için Düzenle'yi tıklayın. Uygulama kaydında sorun yoksa Kontrol Paneline Dön'ü tıklayın.
İstemci kimliği oluşturun
İstemci kimliği, OAuth 2.0 akışları sırasında uygulamanız için kimlik bilgisi görevi görür. Uygulama yerel olarak çalıştığından masaüstü istemci kimliği oluşturun.
- Google Cloud konsolunda Menü > API'ler ve Hizmetler > Kimlik bilgileri'ne gidin.
- Kimlik Bilgisi Oluştur > OAuth istemci kimliği'ni tıklayın.
- Uygulama türü > Masaüstü uygulaması'nı tıklayın.
- Ad alanına kimlik bilgisi için bir ad yazın. Bu ad yalnızca Google Cloud konsolunda gösterilir.
- 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.
- OK (Tamam) seçeneğini 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ükleme
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 erişim jetonu biçiminde kullanıcı kimlik bilgilerinin girilmesini gerektirir. Bu bölümde, kullanıcı için bir erişim jetonu ve yenileme jetonu istemek amacıyla OAuth 2.0 akışını uygulayacaksınız.
Çalışma dizininizde
main.py
dosyasını oluşturun ve aşağıdaki içerikleri ekleyin: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()
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ı proje çalışma dizinine kopyalayın ve
client_secret.json
olarak yeniden adlandırın.Yetkilendirmenin nasıl çalıştığını test etmek isterseniz aşağıdaki komutu çalıştırın. Uygulama, yetkilendirme ister ve istek onaylandıktan sonra proje çalışma dizininde bir
token.json
dosyası oluşturur.python3 main.py
Meet REST API'yi ekleme
Yetkilendirme kodu tamamlandığına göre artık Meet REST API'yi etkinleştirip çağırmaya başlayabilirsiniz.
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 de kullanılmaktadır.
Google Cloud Console
Google Cloud konsolunda Google Meet REST API, Google Workspace Events API ve Google Cloud Pub/Sub'ı etkinleştirin.
API'leri doğru Cloud projesinde etkinleştirdiğinizi onaylayın ve ardından Sonraki'yi tıklayın.
Doğru API'leri etkinleştirdiğinizden emin olun ve ardından Etkinleştir'i tıklayın.
gcloud CLI
Gerekirse geçerli Cloud projesini,
gcloud config set project
komutuyla oluşturduğunuz projeye ayarlayın:gcloud config set project PROJECT_ID
PROJECT_ID kısmını, oluşturduğunuz Cloud projesinin Proje Kimliği ile değiştirin.
gcloud services enable
komutuyla Google Meet REST API, Google Workspace Events API ve Google Cloud Pub/Sub'ı etkinleştirin: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:
Şu komutu çalıştırın:
pip install google-apps-meet
İ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 abone olunabilecek bir toplantı alanı oluşturmak için bir işlev tanımlayın.
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'yi kullanarak bir abonelik oluşturursunuz. Ayrıca, uygulamanızın etkinlikleri aldığı bildirim uç noktası görevi gören bir Google Cloud Pub/Sub konusu oluşturmanız ve bu konuya abone olmanız gerekir.
Google Cloud Pub/Sub'ı yapılandırma
Pub/Sub konusu oluşturmak ve bu konuya abone olmak için:
Google Cloud Console
- Google Cloud konsolunda Menü > Pub/Sub'a gidin.
Uygulamanız için Cloud projesinin seçildiğinden emin olun.
- Konu adı olarak
workspace-events
girin. - Varsayılan bir abonelik ekle seçeneğini seçili bırakın.
- Oluştur'u tıklayın. Tam konu adınız şu şekilde biçimlendirilir:
projects/{project}/topics/{topic}
. Sonraki adımlarda kullanmak üzere bu adı not edin.
Konu oluştur'u tıklayın ve aşağıdakileri yapın:
- Konu adı olarak
- Konunuza Pub/Sub mesajları yayınlamak için erişim verin:
- Yan panelde İzinler sekmesini açın.
- Ana Hesap Ekle'yi tıklayın.
- New principals (Yeni ana hesaplar) alanına
meet-api-event-push@system.gserviceaccount.com
yazın. - Rol atayın bölümünde
Pub/Sub Publisher
'i seçin. - Kaydet'i tıklayın.
Konunuzun izinlerinin güncellenmesi birkaç dakika sürebilir.
gcloud CLI
- Cloud projenizde aşağıdaki komutu çalıştırarak bir konu oluşturun:
gcloud pubsub topics create workspace-events
Çıkışta,
projects/{project}/topics/{topic}
olarak biçimlendirilmiş tam konu adı gösterilir. Sonraki adımlarda kullanmak üzere bu adı not edin. - Konunuzla ilgili mesaj yayınlamak için erişim verin:
gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:meet-api-event-push@system.gserviceaccount.com' --role='roles/pubsub.publisher'
Konunuzun izinlerinin güncellenmesi birkaç dakika sürebilir.
- Şu 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
: Önceki adımda oluşturduğunuz konunuzun adı.
Konu adını not edin ve {project}
değerinin uygulamanızın Cloud projesi kimliği olduğundan emin olun. Daha sonra Google Workspace aboneliğini oluşturmak için konu adını kullanacaksınız.
Hizmet hesabı oluşturma
Google Cloud Console
- Google Cloud konsolunda Menü > IAM ve Yönetici > Hizmet Hesapları'na gidin.
- Hizmet hesabı oluştur'u tıklayın.
- Hizmet hesabı ayrıntılarını doldurun, ardından Oluştur ve devam et'i tıklayın.
- İ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.
- Devam'ı tıklayın.
- İ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.
- Done'ı (Bitti) tıklayın. Hizmet hesabının e-posta adresini not edin.
gcloud CLI
- Hizmet hesabını oluşturun:
gcloud iam service-accounts create meet-event-listener \ --display-name="meet-event-listener"
- İ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, kendinize hizmet hesabının kimliğine bürünme erişimi verin.
Google Cloud Console
- Yeni oluşturulan hizmet hesabının İşlemler sütununda, > İzinleri yönet'i tıklayın.
- Anahtar ekle > Erişim izni ver'i tıklayın.
- Ana hesap ekle bölümünün altına e-posta adresinizi girin.
- Rol olarak Hizmet hesapları > Hizmet Hesabı Jetonu Oluşturucu'yu seçin.
- Kaydet'i tıklayın.
- Terminalinize geri dönün ve uygulama varsayılan kimlik bilgilerini hizmet hesabına ayarlamak için
gcloud
ile oturum açın. Yetkilendirme istendiğinde, önceki adımlarda kullandığınız hesabı kullanarak oturum açın.gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud CLI
- İzni eklemek için hizmet hesabının ve kullanıcının e-posta adresini kullanarak
gcloud iam service-accounts add-iam-policy-binding
komutunu çalıştırın.gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_EMAIL \ --member="user:YOUR_EMAIL \ --role="roles/iam.serviceAccountTokenCreator"
- Uygulama varsayılan kimlik bilgilerini hizmet hesabına ayarlamak için oturum açın. Yetkilendirme istendiğinde, önceki adımlarda kullandığınız hesabı kullanarak oturum açın.
gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
Pub/Sub istemci kitaplığını yükleme
pip
kullanarak Pub/Sub için istemci kitaplığını yükleyin:pip install google-cloud-pubsub
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
Meet etkinliklerine abone olma yöntemini tanımlamak için main.py
için aşağıdaki kodu ekleyin. Bu kod, bir toplantı alanı için tüm etkinliklere abone olur. 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, alıcı tarafı uygular ve kullanıma sunuldukça etkinlikleri çekmek için Google Cloud Pub/Sub API'yi kullanır. Çeşitli işleyici yöntemleri,
ilgili etkinlikler hakkındaki bilgileri yazdırır.
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, etkinliklere abone olma ve dinleme yöntemlerini çağırmak için main.py
uygulamasına aşağıdaki kodu ekleyin. TOPIC_NAME
ve SUBSCRIPTION_NAME
sabit değerlerini daha önce oluşturduğunuz kendi konu ve abonelik adlarınızla güncelleyin.
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
: Uygulamanızın benzersiz Cloud projesi kimliği (ör.my-sample-project-191923
).TOPIC_ID
: Cloud projenizde oluşturduğunuz Pub/Sub konusunun adı.SUBSCRIPTION_ID
: Aboneliğinizin adı (ör.workspace-events-sub
).
Programı çalıştırın:
python3 main.py
Programı daha önce çalıştırmadıysanız ilk seferde yetkilendirme istenir. 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ın
Uygulama için etkinlikler oluşturmak amacıyla, uygulama tarafından görüntülenen URL'yi kullanarak konferansa katılın. Katıldıktan sonra etkinlikleri tetiklemek için şu işlemleri deneyebilirsiniz:
- 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 etkinliklerden her biri, uygulamanın aldığı bir etkinlik oluşturur ve Google Cloud Console'da günlüğe kaydeder.
İş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. Meet REST API'yi keşfetmeye devam etmek için uygulamayı bu ek işlemleri gerçekleştirecek şekilde değiştirmeyi deneyin.
- Oturum açmış katılımcılar hakkında ek bilgi almak için People API'yi kullanın.
- Kayıtları ve transkriptleri indirmek için Google Drive API'sini kullanın.
- Transkriptleri Google Drive'dan indirmek yerine Meet REST API'deki yapılandırılmış transkript yöntemlerini kullanarak alabilirsiniz.
İsteğe bağlı: Temizleme
Bu eğiticide kullanılan kaynaklar için Google Cloud Console hesabınızın ücretlendirilmesini önlemek amacıyla, oluşturulan tüm kaynakları ve projeleri temizlemenizi öneririz.
Aboneliği silmek için:
Konsol
Google Cloud konsolunda Menü > Pub/Sub > Abonelikler'e gidin
Aboneliği seçin ve
Diğer işlemler'i tıklayın.Sil'i tıklayın. Aboneliği sil penceresi görünür.
Sil'i tıklayın.
gcloud CLI
Aboneliği silme:
gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
Konuyu silmek için:
Konsol
Google Cloud konsolunda Menü > Pub/Sub > Konular'a gidin
Konuyu seçin ve
Diğer işlemler'i tıklayın.Sil'i tıklayın. Konuyu sil penceresi görünür.
delete
yazın ve ardından Sil'i tıklayın.
gcloud CLI
Konuyu silin:
gcloud pubsub topics delete TOPIC_NAME
Projeyi silmek için:
Konsol
- Google Cloud konsolunda Kaynakları yönetin sayfasına gidin. Menü > IAM ve Yönetici > Kaynakları Yönet'i tıklayın.
- Proje listesinde, silmek istediğiniz projeyi seçin ve ardından Sil simgesini tıklayın.
- İletişim kutusuna proje kimliğini yazın ve projeyi silmek için Kapat'ı tıklayın.
gcloud CLI
Bir projeyi silmek için gcloud projects delete komutunu kullanın:
gcloud projects delete PROJECT_ID
İlgili konular
- Google Meet REST API'nin yapabilecekleri hakkında daha fazla bilgi edinin ve referans belgeleri inceleyin.
- Google Workspace Events API'yi kullanarak etkinliklere abone olma hakkında bilgi edinin.
- Kimlik doğrulama hakkında daha fazla bilgi edinmek için OAuth izin ekranını yapılandırma ve kapsamları seçme başlıklı makaleyi inceleyin.