این آموزش نحوه استفاده از Google Meet REST API به همراه Google Workspace Events API و Google Cloud Pub/Sub را برای مشاهده و واکنش به رویدادها در فضای جلسه Meet نشان میدهد. برنامه نمونه زمان شروع و پایان کنفرانس، زمان پیوستن یا خروج شرکت کنندگان، و زمانی که مصنوعات جلسه تولید شده در دسترس است را ثبت می کند.
بهجای اشتراک در یک فضای جلسه خاص، میتوانید در عوض مشترک یک کاربر Meet شوید تا رویدادهای هر فضای جلسهای را که کاربر مالک یا سازماندهی میکند، دریافت کنید. برای جزئیات، به اشتراک در رویدادهای Google Meet در اسناد Google Workspace Events API مراجعه کنید.
پیش نیازها
اگر به هر یک از این پیش نیازها برای سازمانتان نیاز دارید، از سرپرست Google Workspace خود بخواهید آنها را روشن کند:
- یک حساب Google Workspace با دسترسی به Google Meet .
- دسترسی به ایجاد یک پروژه Google Cloud .
- پایتون 3 نصب شد.
- gcloud CLI نصب شد.
محیط خود را آماده کنید
این بخش نحوه ایجاد و پیکربندی محیط محلی و پروژه Google Cloud را برای این آموزش نشان می دهد.
یک پوشه کاری و محیط مجازی پایتون ایجاد کنید
برای ایجاد و فعال سازی یک محیط مجازی جدید، دستورات زیر را در ترمینال خود اجرا کنید.
Linux/macOS
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
source env/bin/activate
ویندوز (خط فرمان)
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.bat
ویندوز (PowerShell)
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
env/bin/activate.ps1
یک پروژه Google Cloud ایجاد کنید
کنسول Google Cloud
- در کنسول Google Cloud، به > IAM & Admin > ایجاد پروژه بروید. منو
- در قسمت Project Name یک نام توصیفی برای پروژه خود وارد کنید.
اختیاری: برای ویرایش شناسه پروژه ، روی ویرایش کلیک کنید. شناسه پروژه پس از ایجاد پروژه قابل تغییر نیست، بنابراین شناسه ای را انتخاب کنید که نیازهای شما را برای طول عمر پروژه برآورده کند.
- در قسمت Location ، روی Browse کلیک کنید تا مکان های احتمالی پروژه شما نمایش داده شود. سپس، روی انتخاب کلیک کنید.
- روی ایجاد کلیک کنید. کنسول Google Cloud به صفحه داشبورد می رود و پروژه شما در عرض چند دقیقه ایجاد می شود.
gcloud CLI
در یکی از محیطهای توسعه زیر، به Google Cloud CLI ( gcloud
) دسترسی پیدا کنید:
- Cloud Shell : برای استفاده از ترمینال آنلاین با Gcloud CLI که قبلاً راه اندازی شده است، Cloud Shell را فعال کنید.
Cloud Shell را فعال کنید - Local Shell : برای استفاده از یک محیط توسعه محلی، gcloud CLI را نصب و مقداردهی اولیه کنید .
برای ایجاد یک پروژه Cloud، از دستورgcloud projects create
استفاده کنید: با تنظیم شناسه پروژه ای که می خواهید ایجاد کنید، PROJECT_ID جایگزین کنید.gcloud projects create PROJECT_ID
صورتحساب پروژه Google Cloud را فعال کنید
کنسول Google Cloud
- در کنسول Google Cloud، به Billing بروید. صورتحساب > پروژههای من کلیک کنید. >
- در انتخاب سازمان ، سازمان مرتبط با پروژه Google Cloud خود را انتخاب کنید.
- در ردیف پروژه، منوی Actions ( ) را باز کنید، روی Change billing کلیک کنید و حساب Cloud Billing را انتخاب کنید.
- روی تنظیم حساب کلیک کنید.
gcloud CLI
- برای فهرست کردن حسابهای صورتحساب موجود، اجرا کنید:
gcloud billing accounts list
- پیوند یک حساب صورتحساب با پروژه Google Cloud:
gcloud billing projects link PROJECT_ID --billing-account=BILLING_ACCOUNT_ID
موارد زیر را جایگزین کنید:
-
PROJECT_ID
شناسه پروژه برای پروژه Cloud است که میخواهید صورتحساب را برای آن فعال کنید. -
BILLING_ACCOUNT_ID
شناسه حساب صورتحساب برای پیوند با پروژه Google Cloud است.
-
احراز هویت و مجوز را تنظیم کنید
احراز هویت و مجوز به برنامه اجازه میدهد به منابع Meet REST API دسترسی پیدا کند. مجوز کاربر برای تماس با Meet REST API مورد نیاز است. این بخش نحوه پیکربندی اطلاعات کاربری و درخواست مجوز را به شما آموزش میدهد.
صفحه رضایت OAuth را پیکربندی کنید و دامنه ها را انتخاب کنید
مراحل زیر اطلاعات مکاننما را برای پیکربندی صفحه رضایت OAuth برای برنامه شما پیشنهاد میکند. قبل از انتشار برنامه به صورت خارجی، این اطلاعات را به روز کنید.
- در کنسول Google Cloud، به > APIs & Services > صفحه رضایت OAuth بروید. منو
- در قسمت User type ، Internal را انتخاب کنید، سپس روی Create کلیک کنید.
- در نام برنامه ،
Meet REST API Tutorial
وارد کنید. - فرم ثبت نام برنامه را تکمیل کنید، سپس روی ذخیره و ادامه کلیک کنید.
- روی Add or Remove Scopes کلیک کنید. یک پانل با لیستی از محدودهها برای هر API که در پروژه Google Cloud خود فعال کردهاید ظاهر میشود.
- در بخش افزودن دستی دامنهها ، دامنههای زیر را جایگذاری کنید:
-
https://www.googleapis.com/auth/meetings.space.created
-
- روی افزودن به جدول کلیک کنید.
- روی Update کلیک کنید.
- پس از انتخاب محدوده های مورد نیاز برنامه خود، روی ذخیره و ادامه کلیک کنید.
- اگر خارجی را برای نوع کاربر انتخاب کرده اید، کاربران آزمایشی را اضافه کنید:
- در بخش تست کاربران ، روی افزودن کاربران کلیک کنید.
- آدرس ایمیل خود و سایر کاربران آزمایشی مجاز را وارد کنید، سپس روی ذخیره و ادامه کلیک کنید.
- خلاصه ثبت برنامه خود را مرور کنید. برای ایجاد تغییرات، روی ویرایش کلیک کنید. اگر ثبت برنامه درست به نظر می رسد، روی بازگشت به داشبورد کلیک کنید.
یک شناسه مشتری ایجاد کنید
شناسه مشتری به عنوان اعتبارنامه برای برنامه شما در جریان OAuth 2.0 عمل می کند. از آنجایی که برنامه به صورت محلی اجرا می شود، یک شناسه مشتری دسکتاپ ایجاد کنید.
- در کنسول Google Cloud، به > APIs & Services > Credentials بروید. منو
- روی ایجاد اعتبارنامه > شناسه مشتری OAuth کلیک کنید.
- روی نوع برنامه > برنامه دسکتاپ کلیک کنید.
- در قسمت نام ، نامی را برای اعتبارنامه تایپ کنید. این نام فقط در کنسول Google Cloud نشان داده می شود.
- روی ایجاد کلیک کنید. صفحه ایجاد شده توسط سرویس گیرنده OAuth ظاهر می شود که شناسه مشتری و راز مشتری جدید شما را نشان می دهد.
- روی OK کلیک کنید. اعتبار جدید ایجاد شده در شناسه های مشتری OAuth 2.0 ظاهر می شود.
کتابخانه های تأیید اعتبار Google را نصب کنید
کتابخانه های تأیید اعتبار Google را نصب کنید:
pip install google-auth google-auth-oauthlib
اجرای مجوز
Meet REST API به اطلاعات کاربری در قالب یک نشانه دسترسی OAuth 2.0 نیاز دارد. در این بخش، جریان OAuth 2.0 را برای درخواست یک نشانه دسترسی و یک نشانه رفرش برای کاربر پیاده سازی می کنید.
در پوشه کاری خود، فایل
main.py
را ایجاد کنید و محتویات زیر را اضافه کنید: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()
برای اجرای کد، هم شناسه مشتری و هم رمزی که قبلا ایجاد شده بود مورد نیاز است. فایل مخفی مشتری دانلود شده را در فهرست کاری پروژه کپی کنید و نام آن را به
client_secret.json
تغییر دهید.اگر می خواهید نحوه عملکرد مجوز را آزمایش کنید، دستور زیر را اجرا کنید. برنامه درخواست مجوز می کند و پس از تأیید درخواست، یک فایل
token.json
در فهرست کار پروژه ایجاد می کند.python3 main.py
Meet REST API را اضافه کنید
اکنون که کد مجوز کامل شده است، زمان فعال کردن و فراخوانی Meet REST API فرا رسیده است.
API ها را فعال کنید
در حالی که این بخش بر روی Meet REST API متمرکز است، این آموزش همچنین از Google Cloud Pub/Sub و Google Workspace Events API استفاده میکند.
کنسول Google Cloud
در کنسول Google Cloud، Google Meet REST API، Google Workspace Events API و Google Cloud Pub/Sub را فعال کنید.
تأیید کنید که APIها را در پروژه Cloud صحیح فعال میکنید، سپس روی Next کلیک کنید.
تأیید کنید که API های صحیح را فعال می کنید، سپس روی فعال کردن کلیک کنید.
gcloud CLI
در صورت لزوم، پروژه فعلی Cloud را روی پروژه ای که با دستور
gcloud config set project
ایجاد کرده اید، تنظیم کنید:gcloud config set project PROJECT_ID
PROJECT_ID با Project ID پروژه Cloud که ایجاد کردید جایگزین کنید.
Google Meet REST API، Google Workspace Events API و Google Cloud Pub/Sub را با دستور
gcloud services enable
فعال کنید:gcloud services enable meet.googleapis.com workspaceevents.googleapis.com pubsub.googleapis.com
کتابخانه سرویس گیرنده Meet REST API را نصب کنید
برای نصب کتابخانه سرویس گیرنده Meet REST API این مراحل را دنبال کنید:
دستور را اجرا کنید:
pip install google-apps-meet
فایل
main.py
را برای وارد کردن مشتری ویرایش کنید:from google.apps import meet_v2 as meet
یک فضا ایجاد کنید
اکنون که Meet REST API در دسترس است، تابعی را برای ایجاد فضای جلسه ای تعریف کنید که بتوان در آن مشترک شد.
main.py
ویرایش کنید و اضافه کنید:
def create_space() -> meet.Space:
"""Create a meeting space."""
client = meet.SpacesServiceClient(credentials=USER_CREDENTIALS)
request = meet.CreateSpaceRequest()
return client.create_space(request=request)
اشتراک در رویدادها
برای دریافت رویدادهای مربوط به فضای جلسه، با استفاده از Google Workspace Events API اشتراکی ایجاد میکنید. همچنین باید یک موضوع Google Cloud Pub/Sub را ایجاد کرده و در آن مشترک شوید که به عنوان نقطه پایانی اعلان است که برنامه شما رویدادها را دریافت می کند.
Google Cloud Pub/Sub را پیکربندی کنید
برای ایجاد و اشتراک در یک موضوع Pub/Sub:
کنسول Google Cloud
- در کنسول Google Cloud، به > Pub/Sub بروید.
مطمئن شوید که پروژه Cloud برای برنامه شما انتخاب شده است.
منو - روی
-
workspace-events
به عنوان نام موضوع وارد کنید. - افزودن اشتراک پیشفرض را انتخاب کنید.
- روی ایجاد کلیک کنید. نام کامل موضوع شما به صورت
projects/{project}/topics/{topic}
قالببندی شده است. این نام را برای استفاده در مراحل بعدی یادداشت کنید.
Create موضوع کلیک کنید و کارهای زیر را انجام دهید: -
- اجازه دسترسی به انتشار پیامهای Pub/Sub به موضوع خود را بدهید:
- در پانل کناری، تب Permissions را باز کنید.
- روی Add Principal کلیک کنید.
- در New Principals ،
meet-api-event-push@system.gserviceaccount.com
را وارد کنید. - در Assign roles ،
Pub/Sub Publisher
انتخاب کنید. - روی ذخیره کلیک کنید.
ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.
gcloud CLI
- در پروژه Cloud خود، با اجرای موارد زیر یک موضوع ایجاد کنید:
gcloud pubsub topics create workspace-events
خروجی نام کامل موضوع را با قالببندی
projects/{project}/topics/{topic}
نمایش میدهد. این نام را برای استفاده در مراحل بعدی یادداشت کنید. - اجازه دسترسی به انتشار پیام های موضوع خود را بدهید:
gcloud pubsub topics add-iam-policy-binding workspace-events --member='serviceAccount:meet-api-event-push@system.gserviceaccount.com' --role='roles/pubsub.publisher'
ممکن است چند دقیقه طول بکشد تا مجوزهای موضوع شما به روز شود.
- یک اشتراک Pub/Sub برای موضوع ایجاد کنید:
gcloud pubsub subscriptions create workspace-events-sub --topic=TOPIC_NAME
موارد زیر را جایگزین کنید:
-
TOPIC_NAME
: نام موضوعی که در مرحله قبل ایجاد کردید.
-
نام موضوع را یادداشت کنید و مطمئن شوید که مقدار {project}
شناسه پروژه Cloud برای برنامه شما باشد. بعداً از نام موضوع برای ایجاد اشتراک Google Workspace استفاده خواهید کرد.
یک حساب کاربری ایجاد کنید
کنسول Google Cloud
- در کنسول Google Cloud، به > IAM & Admin > حسابهای سرویس بروید. منو
- روی ایجاد حساب سرویس کلیک کنید.
- جزئیات حساب سرویس را پر کنید، سپس روی ایجاد و ادامه کلیک کنید.
- اختیاری: نقش هایی را به حساب سرویس خود اختصاص دهید تا به منابع پروژه Google Cloud خود دسترسی پیدا کنید. برای جزئیات بیشتر، به اعطای، تغییر، و لغو دسترسی به منابع مراجعه کنید.
- روی Continue کلیک کنید.
- اختیاری: کاربران یا گروههایی را وارد کنید که میتوانند با این حساب سرویس، اقداماتی را مدیریت و انجام دهند. برای جزئیات بیشتر، به مدیریت جعل هویت حساب سرویس مراجعه کنید.
- روی Done کلیک کنید. آدرس ایمیل حساب سرویس را یادداشت کنید.
gcloud CLI
- ایجاد حساب سرویس:
gcloud iam service-accounts create meet-event-listener \ --display-name="meet-event-listener"
- اختیاری: نقش هایی را به حساب سرویس خود اختصاص دهید تا به منابع پروژه Google Cloud خود دسترسی پیدا کنید. برای جزئیات بیشتر، به اعطای، تغییر، و لغو دسترسی به منابع مراجعه کنید.
از حساب سرویس استفاده کنید
پس از ایجاد حساب سرویس، به خودتان اجازه دهید جعل هویت حساب سرویس را جعل کنید.
کنسول Google Cloud
- در ستون اقدامات برای حساب سرویس جدید ایجاد شده، روی > مدیریت مجوزها کلیک کنید.
- روی افزودن کلید > اجازه دسترسی کلیک کنید.
- آدرس ایمیل خود را در قسمت Add principals وارد کنید.
- حسابهای خدمات > ایجاد کننده رمز حساب حساب سرویس را به عنوان نقش انتخاب کنید.
- روی ذخیره کلیک کنید.
- به ترمینال خود برگردید و با
gcloud
وارد شوید تا اعتبار پیش فرض برنامه را روی حساب سرویس تنظیم کنید. هنگامی که از شما برای مجوز درخواست شد، با استفاده از همان حسابی که در مراحل قبلی استفاده شده بود وارد شوید.gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud CLI
- برای افزودن مجوز،
gcloud iam service-accounts add-iam-policy-binding
با استفاده از آدرس ایمیل حساب سرویس و کاربر اجرا کنید.gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_EMAIL \ --member="user:YOUR_EMAIL \ --role="roles/iam.serviceAccountTokenCreator"
- برای تنظیم اعتبار پیش فرض برنامه به حساب سرویس وارد شوید. هنگامی که از شما برای مجوز درخواست شد، با استفاده از همان حسابی که در مراحل قبلی استفاده شده بود وارد شوید.
gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
کتابخانه Pub/Sub Client را نصب کنید
از
pip
برای نصب کتابخانه مشتری برای Pub/Sub استفاده کنید:pip install google-cloud-pubsub
سپس
main.py
ویرایش کنید تا مشتری را وارد کنید:from google.cloud import pubsub_v1
اشتراک Google Workspace را ایجاد کنید
کد زیر را به main.py
اضافه کنید تا روشی برای اشتراک در رویدادهای Meet تعریف کنید. این کد مشترک همه رویدادهای یک فضای جلسه است. در صورت مشترک شدن، رویدادها در موضوع 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
در مرحله بعد، کد مربوطه را برای کشیدن و پردازش رویدادها اضافه کنید.
به رویدادها گوش دهید و مدیریت کنید
به ویرایش main.py
ادامه دهید و کد نمونه زیر را اضافه کنید. این کد سمت دریافت کننده را پیاده سازی می کند و از Google Cloud Pub/Sub API استفاده می کند تا رویدادها را زمانی که در دسترس قرار می گیرند، بکشد. روش های مختلف کنترل کننده اطلاعات مربوط به رویدادهای مربوطه را چاپ می کنند.
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")
کد را نهایی کنید
برای فراخوانی متدهای ایجاد فضا، اشتراک در رویدادها و گوش دادن، کد زیر را به main.py
اضافه کنید. ثابتهای TOPIC_NAME
و SUBSCRIPTION_NAME
را با نام موضوع و اشتراک خود که قبلا ایجاد کردهاید، بهروزرسانی کنید.
کد را به
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)
موارد زیر را جایگزین کنید:
PROJECT_ID
: شناسه پروژه منحصر به فرد Cloud برای برنامه شما، مانندmy-sample-project-191923
.TOPIC_ID
: نام موضوع Pub/Sub که در پروژه Cloud خود ایجاد کردید.SUBSCRIPTION_ID
: نام اشتراک شما، مانندworkspace-events-sub
.
برنامه را اجرا کنید:
python3 main.py
اگر قبلاً برنامه را اجرا نکرده اید، اولین بار از شما درخواست مجوز می کند. برای تماس با Meet REST API به برنامه اجازه دسترسی بدهید. پس از اجرای موفقیت آمیز برنامه، باید خروجی مشابه زیر را مشاهده کنید:
Join the meeting at https://meet.google.com/abc-mnop-xyz
به کنفرانس بپیوندید
برای ایجاد رویدادها برای برنامه، با استفاده از URL نمایش داده شده توسط برنامه، به کنفرانس بپیوندید. پس از پیوستن، میتوانید این اقدامات را برای راهاندازی رویدادها امتحان کنید:
- ترک کنید و دوباره به جلسه بپیوندید.
- دیگران را دعوت کنید یا با تلفن خود تماس بگیرید.
- ضبط و رونوشت را فعال کنید.
هر یک از این فعالیت ها رویدادی را ایجاد می کند که برنامه دریافت می کند و در کنسول Google Cloud ثبت می شود.
از ctrl-c
برای قطع برنامه پس از اتمام کار استفاده کنید.
اختیاری: مراحل اضافی را امتحان کنید
برنامه جزئیات اولیه رویدادها را ثبت می کند. برای ادامه کاوش Meet REST API، سعی کنید برنامه را برای انجام این اقدامات اضافی تغییر دهید.
- از People API برای بازیابی اطلاعات اضافی درباره شرکتکنندگانی که به سیستم وارد شدهاند استفاده کنید.
- از Google Drive API برای بارگیری موارد ضبط شده و رونوشت استفاده کنید.
- بهجای بارگیری رونوشتها از Google Drive، آنها را با استفاده از روشهای رونوشت ساختیافته در Meet REST API بازیابی کنید.
اختیاری: تمیز کردن
برای جلوگیری از تحمیل هزینه به حساب کنسول Google Cloud خود برای منابع استفاده شده در این آموزش، توصیه می کنیم منابع و پروژه های ایجاد شده را پاکسازی کنید.
برای حذف اشتراک:
کنسول
در کنسول Google Cloud، به > Pub/Sub > اشتراک ها بروید
منواشتراک را انتخاب کنید و روی
More actions کلیک کنید.روی Delete کلیک کنید. پنجره حذف اشتراک ظاهر می شود.
روی Delete کلیک کنید.
gcloud CLI
حذف اشتراک:
gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
برای حذف تاپیک:
کنسول
در کنسول Google Cloud، به > Pub/Sub > Topics بروید
منوموضوع را انتخاب کنید و
اقدامات بیشتر را کلیک کنید.روی Delete کلیک کنید. پنجره حذف موضوع ظاهر می شود.
delete
وارد کنید و سپس روی Delete کلیک کنید.
gcloud CLI
حذف تاپیک:
gcloud pubsub topics delete TOPIC_NAME
برای حذف پروژه:
کنسول
- در کنسول Google Cloud، به صفحه مدیریت منابع بروید. IAM & Admin > Manage Resources کلیک کنید. >
- در لیست پروژه، پروژه ای را که می خواهید حذف کنید انتخاب کنید و سپس روی حذف کلیک کنید.
- در گفتگو، ID پروژه را تایپ کنید و سپس بر روی Shut down کلیک کنید تا پروژه حذف شود.
gcloud CLI
برای حذف یک پروژه، از دستور delete پروژه های gcloud استفاده کنید:
gcloud projects delete PROJECT_ID
موضوعات مرتبط
- درباره انواع رویدادهای Meet که میتوانید در آنها مشترک شوید اطلاعات کسب کنید.
- درباره کارهایی که Google Meet REST API میتواند انجام دهد بیشتر بیاموزید و اسناد مرجع را مرور کنید.
- با استفاده از Google Workspace Events API یک اشتراک Google Workspace برای فضاهای جلسه Meet یا کاربران ایجاد کنید .
- برای کسب اطلاعات بیشتر درباره احراز هویت، به پیکربندی صفحه رضایت OAuth مراجعه کنید و دامنه ها را انتخاب کنید .