למד כיצד ליצור קישור מאובטח לפגישת זום באמצעות Python לתקשורת שרת לשרת עם אימות OAuth.
בין אם שילבת פגישות זום באפליקציית Python שלך או סתם מתכננת לעשות זאת, Zoom אומר שהיא מוציאה משימוש אפליקציות JWT ב-1 בספטמבר 2023. תצטרך לעבור לאפשרות OAuth או שרת לשרת OAuth כדי למנוע השבתת שירות.
אפשרות OAuth מחייבת את המשתמשים שלך לאמת את האתר שלך באמצעות חשבון Zoom שלהם. אבל אם אתה יוצר רק קישורי פגישות זום מבלי לבקש בהכרח אישור של משתמשים, אפשרות OAuth שרת לשרת היא הבחירה האידיאלית שלך.
אז איך אתה יכול להשיג את זה עם Python?
צור אפליקציית Zoom Server-to-Server OAuth
כדי להתחיל, עבור אל זום מרקטפלייס כדי לבנות אפליקציה חדשה:
- גלול ברשימת האפליקציות ואתר את שרת לשרת OAuth דֶגֶל. לאחר מכן, לחץ על לִיצוֹר לַחְצָן.
- הזן שם לאפליקציה שלך בשדה המסופק. לאחר מכן לחץ לִיצוֹר; זה מפנה אותך לדף אחר.
- העתק את כל אישורי האפליקציה, כולל שלך מזהה חשבון, מזהה לקוח, ו סוד הלקוח. נְקִישָׁה לְהַמשִׁיך פעם אחת נעשה. אולי תרצה להדביק אותם לתוך שלך קובץ משתנה סביבה להסוות אותם.
- בתפריט הבא, מלא את מידע בסיסי שדות עם המידע המתאים ולחץ על לְהַמשִׁיך לַחְצָן.
- נְקִישָׁה לְהַמשִׁיך בעמוד הבא.
- לאחר מכן, לחץ הוסף היקפים והוסיפו את ההיקפים הבאים; קבל SIP URI מקודד של פגישה ו הצג ונהל את כל פגישות המשתמש.
- נְקִישָׁה לְהַמשִׁיך. לבסוף, לחץ הפעל את האפליקציה שלך כדי להתחיל ליצור אינטראקציה עם ה-Zoom API דרך אפליקציית ה-OAuth של שרת לשרת.
לאחר שתסיים עם השלבים הקודמים, תוכל ליצור קישורי פגישות תוך כדי תנועה באמצעות Zoom API. להלן הקוד המלא לעשות זאת.
יְבוּא בקשות
# החלף במזהה הלקוח שלך
client_id = "" # החלף במזהה החשבון שלך
account_id = "" # החלף בסוד הלקוח שלך
client_secret = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# צור את פונקציית קישור הזום
defליצור_פגישה(נושא, משך, תאריך_התחלה, שעת_התחלה):
נתונים = {
"סוג_מענק": "חשבון_אישורים",
"מזהה חשבון": מזהה חשבון,
"סוד_לקוח": client_secret
}
response = requests.post (auth_token_url,
auth=(client_id, client_secret),
נתונים=נתונים)
אם response.status_code!=200:
הדפס("לא ניתן לקבל אסימון גישה")
response_data = response.json()
access_token = response_data["אסימון גישה"]כותרות = {
"הרשאה": ו"נושא {אסימון גישה}",
"סוג תוכן": "application/json"
}
מטען = {
"נוֹשֵׂא": נושא,
"מֶשֶׁך": משך,
'שעת התחלה': ו'{תאריך התחלה}T10:{שעת התחלה}',
"סוּג": 2
}
resp = requests.post(ו"{api_base_url}/users/me/meetings",
headers=headers,
json=מטען)
אם resp.status_code!=201:
הדפס("לא ניתן ליצור קישור לפגישה")
response_data = resp.json()
תוכן = {
"כתובת_URL": response_data["join_url"],
"סיסמה": response_data["סיסמה"],
"זמן הפגישה": response_data["שעת התחלה"],
"מַטָרָה": response_data["נוֹשֵׂא"],
"מֶשֶׁך": response_data["מֶשֶׁך"],
"הוֹדָעָה": "הַצלָחָה",
"סטָטוּס":1
}
הדפס (תוכן)
הקוד שולח תחילה בקשה לכתובת האתר של האסימון של זום לקבלת אסימון הרשאה. כשמעבירים את זה דרך הכותרות לממשק ה-API של Zoom, זה מחזיר תגובה המכילה את פרטי הפגישה שצוין במטען. הפגישה שעת התחלה שנשלח עם המטען חייב להיות בפורמט ISO 8601. עיצבנו את זה באמצעות פעולת המחרוזת של Python.
לדוגמה, אתה יכול להתקשר לפונקציה כדי לקבוע פגישה ל-23 באוגוסט 2023, בשעה 18:24 באופן הבא:
ליצור_פגישה(
"פגישת זום מבחן",
"60",
"2023-08-23",
"18:24",
)
ה-API מחזיר JSON המכיל מידע רב, כולל קישור לפגישה, סיסמה ומזהה, בין פרטים רבים אחרים. אתה יכול להדפיס response_data וחלץ את מה שאתה צריך, כפי שנעשה בקוד לעיל.
לדוגמה, פלט הבקשה שלנו נראה כך:
שלב את מפגש Zoom באפליקציה שלך
למרות שההדגמה שלנו לא כוללת שילוב באתר או ב-API שלך, בין אם בונים עם Django, Flask, FastAPI או כל מסגרת אחרת של Python, אתה יכול בקלות לחבר את הקוד לבסיס הקוד שלך.
ואם בונים ממשק API, אתה יכול להמיר אותו לנקודת קצה ששמישה לכל לקוח. אתה יכול אפילו לשאול את הרעיון הזה לאתר שנבנה בשפות אחרות מלבד Python. לדוגמה, השלבים ליצירת אפליקציית OAuth של שרת לשרת הם כלליים.