במדריך הזה מוסבר איך משתמשים ב-API ל-REST של Google Meet Google Workspace Event API ו-Google Cloud Pub/Sub כדי לצפות באירועים ולהגיב להם בסביבת ישיבות ב-Meet. האפליקציה לדוגמה מתעדת כאשר שיחת הוועידה מתחילה ומסתיימת, כשמשתתפים מצטרפים או עוזבים, ואם תוכלו לראות את תוצרי הפגישות שנוצרו.
במקום להירשם למרחב ישיבות ספציפי, אפשר להירשם למשתמשים ב-Meet כדי לקבל אירועים מכל מרחב ישיבות שבו הם מקושרים. שהמשתמש הוא הבעלים או מארגן. פרטים נוספים זמינים במאמר הרשמה לאירועים ב-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 & אדמין > יצירת פרויקט.
-
בשדה Project Name (שם הפרויקט), מזינים שם תיאורי לפרויקט.
אופציונלי: כדי לערוך את Project ID, לוחצים על Edit (עריכה). לא ניתן לשנות את מזהה הפרויקט אחרי שהפרויקט נוצר, לכן בחר מזהה שעונה על הצרכים שלך לכל משך החיים של הפרויקט פרויקט.
- בשדה מיקום לוחצים על עיון כדי להציג את המיקומים האפשריים של פרויקט. לאחר מכן לוחצים על בחירה.
- לוחצים על יצירה. במסוף Google Cloud עוברים לדף Dashboard ונוצר הפרויקט תוך כמה דקות.
CLI של gcloud
נכנסים ל-Google Cloud באחת מסביבות הפיתוח הבאות CLI (`gcloud`):
-
Cloud Shell: כדי להשתמש בטרמינל אונליין באמצעות ה-CLI של gcloud
כבר הוגדר, צריך להפעיל את Cloud Shell.
הפעלת Cloud Shell -
Local Shell: כדי להשתמש בסביבת פיתוח מקומית,
התקנה ו
אתחול
ב-CLI של gcloud.
כדי ליצור פרויקט ב-Cloud, משתמשים בפקודה 'gcloud projects create':gcloud projects create PROJECT_ID
הפעלת החיוב בפרויקט ב-Google Cloud
מסוף Google Cloud
- נכנסים לקטע Billing במסוף Google Cloud. לוחצים על תפריט > חיוב > הפרויקטים שלי.
- בקטע בחירת ארגון, בוחרים את הארגון שמשויך אליו. את הפרויקט ב-Google Cloud.
- בשורת הפרויקט, פותחים את התפריט Actions (פעולות) ( ), לוחצים על שינוי החיוב ובוחרים לחשבון לחיוב ב-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, נכנסים לתפריט > ממשקי API ו- שירותים > מסך ההסכמה של OAuth.
- בקטע סוג משתמש, בוחרים באפשרות פנימי ולוחצים על יצירה.
- בשדה App name, מזינים
Meet REST API Tutorial
. - ממלאים את טופס הרישום של האפליקציה ולוחצים על שמירה והמשך.
- לוחצים על הוספה או הסרה של היקפי הרשאות. תופיע חלונית עם רשימה של היקפים לכל API שהפעלתם בפרויקט ב-Google Cloud.
- בקטע הוספה ידנית של היקפים, מדביקים את ההיקפים הבאים:
https://www.googleapis.com/auth/meetings.space.created
- לוחצים על הוספה לטבלה.
- לוחצים על עדכון.
- אחרי שבוחרים את ההיקפים הנדרשים ליד האפליקציה, לוחצים על שמירה והמשך.
- אם בחרתם בסוג המשתמש חיצוני, עליכם להוסיף משתמשים לבדיקה:
- בקטע Test users לוחצים על Add users.
- מזינים את כתובת האימייל שלכם ואת כל המשתמשים המורשים האחרים לבדיקה, ולאחר מכן לוחצים על שמירה והמשך.
- מעיינים בסיכום של רישום האפליקציה. כדי לבצע שינויים, לוחצים על עריכה. אם האפליקציה ההרשמה נראית תקינה, לוחצים על חזרה ללוח הבקרה.
יצירת מזהה לקוח
מזהה הלקוח משמש כפרטי כניסה לאפליקציה ב-OAuth 2.0 זורמים. מכיוון שהאפליקציה פועלת באופן מקומי, צריך ליצור מזהה לקוח למחשב.
- במסוף Google Cloud, נכנסים לתפריט > APIs & שירותים > פרטי כניסה.
- לוחצים על יצירת פרטי כניסה > מזהה לקוח OAuth.
- לוחצים על סוג אפליקציה > אפליקציית מחשב.
- בשדה 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
איך מוסיפים את REST API של Meet
עכשיו, לאחר שקוד ההרשאה הושלם, הגיע הזמן להפעיל את השירות ולהפעיל אותו. Meet API בארכיטקטורת REST.
הפעלת ממשקי ה-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 במזהה הפרויקט של הפרויקט ב-Cloud שיצרתם.
להפעיל את ה-API ל-REST של Google Meet, את Google Workspace Event 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
איך יוצרים מרחבים משותפים
עכשיו, כשה-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}
יצירת פתק בשם הזה, לשימוש בשלבים מאוחרים יותר.
יצירת נושא ומבצעים את הפעולות הבאות:
הבאים:
- מזינים
- מעניקים גישה כדי לפרסם הודעות 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 & אדמין > חשבונות שירות.
- לוחצים על 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
- בעמודה פעולות של חשבון השירות החדש שנוצר, לוחצים על > ניהול ההרשאות.
- לוחצים על Add key. > הענקת גישה.
- מזינים את כתובת האימייל בקטע הוספת חשבונות משתמשים.
- בוחרים באפשרות חשבונות שירות > יצירת אסימונים בחשבון שירות. בתור התפקיד.
- לוחצים על שמירה.
- חוזרים לטרמינל ונכנסים באמצעות
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
צריך להוסיף את הקוד הבא אל 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 כדי לשלוף
אירועים ברגע שהם הופכים לזמינים. שיטות ה-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
כדי להפעיל את השיטות ליצירת המרחב המשותף,
להירשם לאירועים ולהאזין. עדכון 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 > מינויים
בוחרים את המינוי ולוחצים על
פעולות נוספות.לוחצים על מחיקה. החלון מחיקת מינוי יופיע.
לוחצים על מחיקה.
CLI של gcloud
מוחקים את המינוי:
gcloud pubsub subscriptions delete SUBSCRIPTION_NAME
כדי למחוק את הנושא:
המסוף
במסוף Google Cloud, נכנסים לתפריט > Pub/Sub > נושאים
בוחרים את הנושא ולוחצים על
פעולות נוספות.לוחצים על מחיקה. החלון מחיקת הנושא יופיע.
מזינים
delete
ולוחצים על Delete.
CLI של gcloud
מוחקים את הנושא:
gcloud pubsub topics delete TOPIC_NAME
כדי למחוק את הפרויקט:
המסוף
- במסוף Google Cloud, עוברים לדף Manage resources. לוחצים על תפריט > IAM & Admin (אדמין) > לניהול משאבים
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על הסמל. מחיקה של .
- כדי למחוק, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down. את הפרויקט.
CLI של gcloud
כדי למחוק פרויקט, משתמשים בפרויקטים של gcloud מחיקה הפקודה:
gcloud projects delete PROJECT_ID
נושאים קשורים
- מידע על סוגים של אירועים ב-Meet שאפשר להירשם אליהם.
- מה אפשר לעשות עם Google Meet REST API כדאי לעיין במסמכי העזר.
- יצירת מינוי ל-Google Workspace פגישות או משתמשים ב-Meet Google Workspace Event API.
- למידע נוסף על אימות אפשר לעיין בהגדרת מסך ההסכמה של OAuth ובוחרים היקפים.