המדריך הזה מסביר איך להשתמש ב-Google Meet REST API יחד עם Google Workspace Event API ו-Google Cloud Pub/Sub כדי לצפות באירועי פגישות ולהגיב להם. האפליקציה לדוגמה מתעדת מתי שיחות ועידה מתחילות ומסתיימות, מתי המשתתפים מצטרפים או יוצאים מהפגישה ואם פריטי המידע שנוצרו בפגישה זמינים.
למידע נוסף על עבודה עם אירועים, תוכלו לקרוא את המאמר הרשמה לאירועים ב-Google Meet במאמרי העזרה של Google Workspace Event API.
דרישות מוקדמות
אם אתם צריכים להפעיל בארגון את הדרישות המוקדמות הבאות, בקשו מהאדמין ב-Google Workspace להפעיל אותן:
- חשבון Google Workspace עם גישה ל-Google Meet.
- גישה ליצירת פרויקט ב-Google Cloud.
- Python 3 מותקן.
- להתקין את ה-CLI של gcloud.
מכינים את הסביבה
בקטע הזה נסביר איך יוצרים ומגדירים את הסביבה המקומית ואת הפרויקט ב-Google Cloud במדריך הזה.
יצירת ספריית עבודה וסביבה וירטואלית של Python
כדי ליצור ולהפעיל סביבה וירטואלית חדשה, מריצים את הפקודות הבאות בטרמינל.
Linux/macOS
mkdir meet-tutorial
cd meet-tutorial
python3 -mvenv env
source env/bin/activate
Windows (שורת הפקודה)
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
מסוף Google Cloud
- במסוף Google Cloud, נכנסים לתפריט > IAM & Admin > יצירת פרויקט.
-
בשדה Project Name (שם הפרויקט), מזינים שם תיאורי לפרויקט.
אופציונלי: כדי לערוך את Project ID, לוחצים על Edit (עריכה). אי אפשר לשנות את מזהה הפרויקט אחרי יצירת הפרויקט, לכן חשוב לבחור מזהה שמתאים לצרכים שלכם לכל משך החיים של הפרויקט.
- בשדה Location לוחצים על Browse כדי להציג את המיקומים הפוטנציאליים של הפרויקט. לאחר מכן לוחצים על בחירה.
- לוחצים על יצירה. נכנסים לדף Dashboard במסוף Google Cloud והפרויקט נוצר תוך כמה דקות.
CLI של gcloud
באחת מסביבות הפיתוח הבאות, נכנסים ל-CLI של Google Cloud (`gcloud`):
-
Cloud Shell: כדי להשתמש בטרמינל אונליין שבו כבר מוגדר ה-CLI של gcloud, צריך להפעיל את Cloud Shell.
הפעלת Cloud Shell -
Local Shell: כדי להשתמש בסביבת פיתוח מקומית, מתקינים וinitialize את ה-CLI של gcloud.
כדי ליצור פרויקט ב-Cloud, משתמשים בפקודה 'gcloud projects create':gcloud projects create PROJECT_ID
הפעלת החיוב בפרויקט ב-Google Cloud
מסוף Google Cloud
- נכנסים לקטע Billing במסוף Google Cloud. לוחצים על תפריט > חיוב > My Projects.
- בקטע Select an Organization (בחירת ארגון), בוחרים את הארגון שמשויך לפרויקט ב-Google Cloud.
- בשורת הפרויקט, פותחים את התפריט Actions ( ), לוחצים על Change billing ובוחרים את החשבון לחיוב ב-Cloud.
- לוחצים על Set account.
CLI של gcloud
- כדי להציג את רשימת החשבונות הזמינים לחיוב, מריצים את הפקודה:
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.
הגדרת אימות והרשאה
האימות וההרשאה מאפשרים לאפליקציה לגשת למשאבים של ה-API ל-REST של Meet. כדי להפעיל את ה-API ל-REST של Meet צריך הרשאת משתמש. בקטע הזה מוסבר איך להגדיר פרטי כניסה של משתמשים ולבקש הרשאה.
הגדרת מסך ההסכמה של OAuth ובחירת היקפים
בשלבים הבאים תמצאו הצעות לפרטי placeholder כדי להגדיר את מסך ההסכמה של OAuth לאפליקציה שלכם. לפני שמפרסמים את האפליקציה באופן חיצוני, חשוב לעדכן את המידע הזה.
- במסוף Google Cloud, נכנסים לתפריט > APIs & Services > מסך ההסכמה של OAuth.
- בקטע סוג משתמש, בוחרים באפשרות פנימי ולוחצים על יצירה.
- בשדה App name, מזינים
Meet REST API Tutorial
. - ממלאים את טופס הרישום של האפליקציה ולוחצים על שמירה והמשך.
- לוחצים על הוספה או הסרה של היקפי הרשאות. תופיע חלונית עם רשימת היקפים של כל API שהפעלתם בפרויקט ב-Google Cloud.
- בקטע הוספה ידנית של היקפים, מדביקים את ההיקפים הבאים:
https://www.googleapis.com/auth/meetings.space.created
- לוחצים על הוספה לטבלה.
- לוחצים על עדכון.
- אחרי שבוחרים את היקפי ההרשאות שנדרשים לאפליקציה, לוחצים על Save and Continue (שמירה והמשך).
- אם בוחרים בסוג המשתמש חיצוני, מוסיפים משתמשים לבדיקה:
- בקטע Test users לוחצים על Add users.
- מזינים את כתובת האימייל שלכם ואת כל המשתמשים המורשים האחרים לבדיקה ולוחצים על Save and Continue (שמירה והמשך).
- מעיינים בסיכום של רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם נראה שרישום האפליקציה תקין, לוחצים על Back to Dashboard.
יצירת מזהה לקוח
מזהה הלקוח משמש כפרטי כניסה לאפליקציה בתהליכים ב-OAuth 2.0. מכיוון שהאפליקציה פועלת באופן מקומי, צריך ליצור מזהה לקוח למחשב.
- במסוף Google Cloud, נכנסים לתפריט > APIs & Services > Credentials.
- לוחצים על Create Credentials > OAuth client ID.
- לוחצים על סוג אפליקציה > אפליקציית מחשב.
- בשדה Name, מקלידים שם לפרטי הכניסה. השם הזה מוצג רק במסוף Google Cloud.
- לוחצים על יצירה. יופיע המסך שנוצר על ידי לקוח OAuth ומוצג בו מזהה הלקוח החדש וסוד הלקוח שלכם.
- לוחצים על אישור. פרטי הכניסה החדשים שנוצרו יופיעו בקטע מזהי לקוח OAuth 2.0.
התקנה של ספריות האימות של Google
מתקינים את ספריות האימות של Google:
pip install google-auth google-auth-oauthlib
הפעלת הרשאה
ב-API ל-REST של Meet נדרשים פרטי כניסה של משתמשים, כמו אסימון גישה מסוג 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
הוספת API של Meet בארכיטקטורת REST
קוד ההרשאה הושלם, ועכשיו אפשר להפעיל את ה-API ל-REST של Meet ולקרוא אותו.
הפעלת ממשקי ה-API
הקטע הזה מתמקד ב-API ל-REST של Meet, אבל המדריך הזה משתמש גם ב-Google Cloud Pub/Sub וב-Google Workspace Event API.
מסוף Google Cloud
במסוף Google Cloud, מפעילים את ה-API ל-REST של Google Meet, את Google Workspace Event API ואת Google Cloud Pub/Sub.
מוודאים שאתם מפעילים את ממשקי ה-API בפרויקט הנכון ב-Cloud, ואז לוחצים על Next.
מוודאים שאתם מפעילים את ממשקי ה-API הנכונים ולוחצים על הפעלה.
CLI של gcloud
אם יש צורך, מגדירים את הפרויקט הנוכחי ב-Cloud לפרויקט שיצרתם באמצעות הפקודה
gcloud config set project
:gcloud config set project PROJECT_ID
מחליפים את PROJECT_ID ב-Project ID של הפרויקט ב-Cloud שיצרתם.
מפעילים את Google Meet REST API, את Google Workspace Event API ואת Google Cloud Pub/Sub באמצעות הפקודה
gcloud services enable
:gcloud services enable meet.googleapis.com workspaceevents.googleapis.com pubsub.googleapis.com
התקנה של ספריית הלקוח של API ל-REST של Meet
כדי להתקין את ספריית הלקוח של Meet ל-REST API, פועלים לפי השלבים הבאים:
מריצים את הפקודה:
pip install google-apps-meet
עורכים את הקובץ
main.py
כדי לייבא את הלקוח:from google.apps import meet_v2 as meet
איך יוצרים מרחבים משותפים
עכשיו, כשה-API ל-REST של Meet זמין, מגדירים פונקציה כדי ליצור מרחב ישיבות שאפשר להירשם אליו.
עריכת 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 Event 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 topic ומבצעים את הפעולות הבאות:
- מזינים
- מעניקים גישה כדי לפרסם הודעות Pub/Sub בנושא:
- בחלונית הצדדית, פותחים את הכרטיסייה Permissions.
- לוחצים על הוספת חשבון משתמש.
- בשדה New principals, מזינים
meet-api-event-push@system.gserviceaccount.com
. - בקטע הקצאת תפקידים, בוחרים באפשרות
Pub/Sub Publisher
. - לוחצים על שמירה.
יכול להיות שיעברו כמה דקות עד שההרשאות לנושא יתעדכן.
CLI של gcloud
- בפרויקט ב-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 > חשבונות שירות.
- לוחצים על Create service account.
- ממלאים את פרטי חשבון השירות ולוחצים על Create and continue.
- אופציונלי: מקצים תפקידים לחשבון השירות כדי לתת גישה למשאבים של הפרויקט ב-Google Cloud. פרטים נוספים זמינים במאמר הענקה, שינוי וביטול גישה למשאבים.
- לוחצים על המשך.
- אופציונלי: מזינים משתמשים או קבוצות שיכולים לנהל ולבצע פעולות באמצעות חשבון השירות הזה. פרטים נוספים זמינים במאמר ניהול התחזות לחשבון שירות.
- לוחצים על סיום. רושמים בצד את כתובת האימייל של חשבון השירות.
CLI של gcloud
- יוצרים את חשבון השירות:
gcloud iam service-accounts create meet-event-listener \ --display-name="meet-event-listener"
- אופציונלי: מקצים תפקידים לחשבון השירות כדי לתת גישה למשאבים של הפרויקט ב-Google Cloud. פרטים נוספים זמינים במאמר הענקה, שינוי וביטול גישה למשאבים.
שימוש בחשבון השירות
אחרי יצירת חשבון השירות, מעניקים לעצמכם גישה כדי להתחזות לחשבון השירות.
מסוף Google Cloud
- בעמודה Actions של חשבון השירות החדש שנוצר, לוחצים על > Manage permissions.
- לוחצים על Add key > Grant access.
- מזינים את כתובת האימייל בקטע הוספת חשבונות משתמשים.
- בוחרים באפשרות Service accounts (חשבונות שירות) > Service Account Token Creator בתור התפקיד.
- לוחצים על שמירה.
- חוזרים לטרמינל ונכנסים באמצעות
gcloud
כדי להגדיר את פרטי הכניסה שמוגדרים כברירת מחדל לאפליקציה לחשבון השירות. כשמוצגת בקשה לקבלת הרשאה, נכנסים עם אותו חשבון שבו השתמשתם בשלבים הקודמים.gcloud auth application-default login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
CLI של gcloud
- כדי להוסיף את ההרשאה, מריצים את הפקודה
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
משתמשים ב-
pip
כדי להתקין את ספריית הלקוח ל-Pub/Sub:pip install google-cloud-pubsub
לאחר מכן עורכים את
main.py
כדי לייבא את הלקוח:from google.cloud import pubsub_v1
יצירת המינוי ל-Google Workspace
כדי להגדיר שיטה להרשמה לאירועים ב-Meet, צריך להוסיף את הקוד הבא ל-main.py
. הקוד הזה נרשם לכל האירועים במרחב
פגישות. כשנרשמים, האירועים מתפרסמים בנושא 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 כדי לשלוף אירועים ברגע שהם הופכים לזמינים. שיטות ה-handler השונות מדפיסות מידע על האירועים התואמים.
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
כדי לקרוא ל-methods ליצירת המרחב, להירשם לאירועים ולהאזין. מעדכנים את הקבועים 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
אם לא הפעלתם את התוכנית בעבר, היא תבקש הרשאה בפעם הראשונה. כדי לשלוח קריאה ל-API ל-REST של Meet, צריך לתת לאפליקציה גישה. אחרי שהתוכנה תופעל בהצלחה, הפלט אמור להיראות כך:
Join the meeting at https://meet.google.com/abc-mnop-xyz
הצטרפות לשיחת הוועידה
כדי ליצור אירועים לאפליקציה, מצטרפים לשיחת הוועידה באמצעות כתובת ה-URL שהאפליקציה מציגה. אחרי ההצטרפות, תוכלו לנסות את הפעולות הבאות כדי להפעיל אירועים:
- לעזוב את הפגישה ולהצטרף אליה מחדש.
- אפשר להזמין אנשים נוספים או להצטרף באמצעות הטלפון.
- להפעיל את ההקלטות והתמלולים.
כל אחת מהפעילויות האלו יוצרת אירוע שהאפליקציה מקבלת ומתעדת במסוף Google Cloud.
בסיום, יש להשתמש ב-ctrl-c
כדי להפסיק את התוכנית.
אופציונלי: שלבים נוספים שאפשר לנסות
האפליקציה מתעדת פרטים בסיסיים על האירועים. כדי להמשיך להשתמש ב-API ל-REST של Meet, כדאי לשנות את האפליקציה ולבצע את הפעולות הנוספות האלה.
- כדי לאחזר מידע נוסף על משתתפים שמחוברים לחשבון אפשר להשתמש ב-People API
- משתמשים ב-Google Drive API כדי להוריד הקלטות ותמלילים.
- במקום להוריד תמלילים מ-Google Drive, אפשר לאחזר אותם באמצעות שיטות התמליל המובנות ב-API ל-REST של Meet.
אופציונלי: הסרת המשאבים
כדי להימנע מצבירת חיובים בחשבון במסוף Google Cloud בגלל השימוש במשאבים שנעשה במסגרת מדריך זה, מומלץ למחוק את המשאבים והפרויקטים שנוצרו.
כדי למחוק את המינוי:
המסוף
במסוף Google Cloud, נכנסים לתפריט > Pub/Sub > מינויים
בוחרים את המינוי ולוחצים על
More actions.לוחצים על מחיקה. החלון מחיקת מינוי יופיע.
לוחצים על מחיקה.
CLI של gcloud
מוחקים את המינוי:
gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
כדי למחוק נושא:
המסוף
במסוף Google Cloud, נכנסים לתפריט > Pub/Sub > נושאים
בוחרים את הנושא ולוחצים על
More actions.לוחצים על מחיקה. החלון מחיקת הנושא יופיע.
מזינים
delete
ולוחצים על Delete.
CLI של gcloud
מוחקים את הנושא:
gcloud pubsub topics delete TOPIC_NAME
כדי למחוק את הפרויקט:
המסוף
- במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM ואדמין > ניהול משאבים.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על Delete .
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.
CLI של gcloud
כדי למחוק פרויקט, משתמשים בפקודה gcloud projects delete:
gcloud projects delete PROJECT_ID
נושאים קשורים
- מה אפשר לעשות עם Google Meet REST API ובמאמרי העזרה
- איך נרשמים לאירועים באמצעות Google Workspace Event API
- למידע נוסף על אימות, ראו הגדרת מסך ההסכמה של OAuth ובחירת היקפים.