تعرف على كيفية إنشاء رابط اجتماع Zoom آمن باستخدام Python للاتصال من خادم إلى خادم باستخدام مصادقة OAuth.
سواء قمت بدمج اجتماعات Zoom في تطبيق Python الخاص بك أو كنت تخطط فقط للقيام بذلك ، يقول Zoom إنه يقوم بإيقاف تطبيقات JWT في 1 سبتمبر 2023. سيتعين عليك التبديل إلى خيار OAuth أو خيار OAuth من خادم إلى خادم لتجنب توقف الخدمة.
يتطلب خيار OAuth من المستخدمين لديك مصادقة موقع الويب الخاص بك عبر حساب Zoom الخاص بهم. ولكن إذا كنت تنشئ روابط اجتماعات Zoom دون الحاجة إلى طلب إذن المستخدمين بالضرورة ، فإن خيار OAuth من خادم إلى خادم هو خيارك المثالي.
إذن كيف يمكنك تحقيق ذلك باستخدام بايثون؟
أنشئ تطبيق Zoom من خادم إلى خادم OAuth
للبدء ، توجه إلى زووم ماركت بليس لإنشاء تطبيق جديد:
- قم بالتمرير عبر قائمة التطبيقات وحدد موقع ملف بروتوكول OAuth من خادم إلى خادم لافتة. ثم ، انقر فوق يخلق زر.
- أدخل اسمًا لتطبيقك في الحقل المتاح. ثم اضغط يخلق; هذا يعيد توجيهك إلى صفحة أخرى.
- انسخ جميع بيانات اعتماد التطبيق ، بما في ذلك معرف الحساب, معرف العميل، و سر العميل. انقر يكمل في حال تم. قد ترغب في لصق هذه في ملف ملف متغير البيئة لإخفائهم.
- في القائمة التالية ، قم بملء ملف معلومات اساسية الحقول بالمعلومات المناسبة وانقر فوق يكمل زر.
- انقر يكمل في الصفحة التالية.
- بعد ذلك ، انقر فوق أضف النطاقات وأضف النطاقات التالية ؛ احصل على SIP URI الخاص بالاجتماع و عرض وإدارة جميع اجتماعات المستخدم.
- انقر يكمل. أخيرًا ، انقر فوق قم بتنشيط التطبيق الخاص بك لبدء التفاعل مع Zoom API عبر تطبيق OAuth من خادم إلى خادم.
بمجرد الانتهاء من الخطوات السابقة ، يمكنك إنشاء روابط اجتماعات أثناء التنقل باستخدام Zoom API. يوجد أدناه الرمز الكامل للقيام بذلك.
يستورد الطلبات
# استبدال معرّف العميل الخاص بك
client_id = "" # استبدال معرف حسابك
معرف_الحساب = "" # استبدل بسر العميل الخاص بك
client_secret = "" auth_token_url = " https://zoom.us/oauth/token"
api_base_url = " https://api.zoom.us/v2"# إنشاء وظيفة ارتباط التكبير
defcreate_meeting(الموضوع ، المدة ، تاريخ البدء ، وقت البدء):
البيانات = {
"نوع_منحة": "account_credentials",
"معرف_الحساب": account_id،
"client_secret": client_secret
}
response = request.post (auth_token_url،
المصادقة = (معرّف العميل ، client_secret) ،
data = data)
لو response.status_code! =200:
مطبعة("يتعذر الحصول على رمز الوصول")
response_data = response.json ()
access_token = response_data ["رمز وصول"]رؤوس = {
"تفويض": و "حاملها {رمز وصول}",
"نوع المحتوى": "التطبيق / json"
}
الحمولة = {
"عنوان": عنوان،
"مدة": مدة،
'وقت البدء': F'{تاريخ البدء}T10:{وقت البدء}',
"يكتب": 2
}
resp = request.post (F"{api_base_url}/users/me/meetings",
رؤوس = رؤوس ،
json = الحمولة)
لو Resp.status_code! =201:
مطبعة("تعذر إنشاء رابط الاجتماع")
response_data = resp.json ()
المحتوى = {
"عنوان_الاجتماع": response_data ["Join_url"],
"كلمة المرور": response_data ["كلمة المرور"],
"وقت الاجتماع": response_data ["وقت البدء"],
"غاية": response_data ["عنوان"],
"مدة": response_data ["مدة"],
"رسالة": "نجاح",
"حالة":1
}
طباعة (محتوى)
يرسل الرمز أولاً طلبًا إلى عنوان URL الخاص بالرمز المميز لـ Zoom للحصول على رمز ترخيص مميز. تمرير هذا لأسفل عبر الرؤوس إلى واجهة برمجة تطبيقات Zoom ، فإنه يعرض استجابة تحتوي على تفاصيل الاجتماع المحددة في الحمولة. الاجتماع وقت البدء يجب أن يكون المرسل مع الحمولة بتنسيق ISO 8601. لقد قمنا بتنسيق هذا باستخدام عملية سلسلة Python.
على سبيل المثال ، يمكنك استدعاء الوظيفة لجدولة اجتماع في 23 أغسطس 2023 الساعة 6:24 مساءً على النحو التالي:
create_meeting (
"اجتماع اختبار التكبير",
"60",
"2023-08-23",
"18:24",
)
تعرض واجهة برمجة التطبيقات JSON يحتوي على الكثير من المعلومات ، بما في ذلك رابط الاجتماع وكلمة المرور والمعرف ، من بين العديد من التفاصيل الأخرى. يمكنك الطباعة استجابة_بيانات واستخرج ما تحتاجه كما فعلت في الكود أعلاه.
على سبيل المثال ، يبدو إخراج الطلب كما يلي:
دمج Zoom Meeting في تطبيقك
على الرغم من أن العرض التوضيحي الخاص بنا لا يشمل الدمج في موقع الويب الخاص بك أو واجهة برمجة التطبيقات ، سواء كان البناء باستخدام Django أو Flask أو FastAPI أو أي إطار عمل Python آخر ، يمكنك بسهولة توصيل الكود بقاعدة التعليمات البرمجية الخاصة بك.
وفي حالة إنشاء واجهة برمجة تطبيقات ، يمكنك تحويلها إلى نقطة نهاية يمكن لأي عميل استخدامها. يمكنك حتى استعارة هذه الفكرة لموقع ويب تم إنشاؤه باستخدام لغات أخرى إلى جانب Python. على سبيل المثال ، تعتبر خطوات إنشاء تطبيق OAuth من خادم إلى خادم عامة.