“إضافة BigBlueButton” إلى مؤتمر موجود بالفعل
تقوم هذه الإضافة بإنشاء غرفة تلقائيًا لك عند النقر على “إضافة BigBlueButton”. ولكن قد ترغب في استخدام غرفة موجودة مسبقًا بدلاً من ذلك (تم إنشاؤها قبل أن تحصل على هذه الإضافة). إليك مثالان يوضحان سبب رغبتك في ذلك.
-
لقد أنشأت غرفة بالفعل - (باستخدام Greenlight، على سبيل المثال) وتريد السماح للناس بالانضمام أيضًا من خلال Discourse
-
السماح للناس بالانضمام عبر رابط أيضًا - عند استخدام Greenlight (واجهة المستخدم الأمامية الافتراضية)، يتم إنشاء رابط قابل للمشاركة للانضمام إلى المكالمة. وبهذه الطريقة يمكن للناس الانضمام من خلال Discourse أو عبر الرابط.
هذه عملية غازية إلى حد كبير، لذا تأكد تمامًا من فهمك لما تفعله
التعليمات
على الأرجح أن واجهة المستخدم الأمامية التي تستخدمها (Greenlight؟) لا تمنحك معلومات منخفضة المستوى مثل معرف الاجتماع أو attendeePW (وهو مختلف عن رمز الوصول إلى الغرفة - أعلم، الأمر محير). لذا، للحصول على هذه المعلومات، سنضطر إلى استخدام واجهة برمجة التطبيقات (API) الخاصة بـ BBB لعرض جميع معلومات الاجتماعات.
ملاحظة: قد تكون هناك طريقة أفضل للقيام بذلك، لكنني لست على علم بها. فقط أخبرني إذا كان الأمر كذلك.
المتطلبات الأساسية
- الوصول إلى خادم BBB عبر طرفية (عن طريق SSH، على سبيل المثال)
- معرفة أساسية بلغة بايثون (للتحقق من كودي)
- فهم مخاطر الأمان لاستخدام واجهة برمجة التطبيقات الخاصة بـ BBB
1. الحصول على سر واجهة برمجة التطبيقات (API secret) ونقطة النهاية (API endpoint)
قم بالدخول إلى قشرة (Shell) (عبر SSH) حيث يعمل خادم BBB وقم بتشغيل الأمر التالي:
sudo bbb-conf --secret
ستظهر لك URL و Secret. ستكونان مفيدتين لاحقًا.
أي شخص يمتلك هذا السر يمكنه القيام بأشياء سيئة جدًا بخدمة خادمك! لذا احتفظ به بأمان.
2. إنشاء سكريبت Python3 للحصول على معلومات الاجتماع
فيما يلي سكريبت بسيط بلغة بايثون 3 يأخذ عنوان URL والسر الخاصين بك (المُعطى في الخطوة 1) ويولد واجهة برمجة التطبيقات للحصول على معلومات الاجتماعات:
لا تقم بلصق سكريبتات عشوائية تجدها على الإنترنت (بما في ذلك هذا)! تحقق منها لترَ ما إذا كانت منطقية، وإذا لزم الأمر راجع توثيق واجهة برمجة التطبيقات.
import hashlib
from urllib.parse import urljoin
# أدخل متغيراتي هنا
base_url = "PASTE_HERE_YOUR_URL" + "api/"
secret = "PASTE_HERE_YOUR_SECRET"
# توليد رمز التحقق الأمني
plaintext = "getMeetings" + secret
sha1 = hashlib.sha1()
sha1.update(plaintext.encode('utf-8'))
checksum = sha1.hexdigest()
# الحصول على عنوان URL لواجهة برمجة التطبيقات لعرض معلومات الاجتماعات
url = urljoin(base_url, "getMeetings?checksum=" + checksum)
print("افتح عنوان URL التالي لعرض معلومات الاجتماع")
print(url)
استبدل PASTE_HERE_YOUR_URL بعنوان URL الخاص بواجهة برمجة التطبيقات الذي حصلت عليه سابقًا، واستبدل PASTE_HERE_YOUR_SECRET بالسر، ثم قم بتشغيل السكريبت.
بعد ذلك، يجب أن يطبع عنوان URL مثل https://example.com/bigbluebutton/api/getMeetings?checksum=20e928e8928e8e9f919928e829d999df82882818
أي شخص يمتلك هذا العنوان URL يمكنه القيام بأشياء سيئة!
يمكنهم رؤية جميع الاجتماعات الجارية، وعدد المستخدمين في كل منها، بالإضافة إلى الحصول على بيانات الاعتماد للانضمام إليها.
3. فتح عنوان URL
افتحه في وضع التصفح الخاص للتأكد من عدم تخزين عنوان URL في سجل المتصفح بسبب التحذير المذكور أعلاه.
ابدأ الاجتماع الذي تنوي إضافته وقم بتحديث الصفحة التي تحتوي على عنوان URL الخاص بواجهة برمجة التطبيقات. ثم يجب أن ترى شيئًا مثل:
<response>
<returncode>SUCCESS</returncode>
<meetings>
<meeting>
<meetingName>اسم غرفتك</meetingName>
<meetingID>XXXXXXXXXXXXXXXXXXXXXXXXXXX</meetingID>
...
<attendeePW>YYYYYYY</attendeePW>
<moderatorPW>ZZZZZZZ</moderatorPW>
...
ابحث ببساطة عن الأسطر أسفل الاجتماع الذي تريده واستخرج:
- meetingID
- attendeePW
- moderatorPW
بعد الحصول على هذه المعلومات، امسح جميع الملفات وأغلق جميع التبويبات التي تحتوي على وصول إلى واجهة برمجة التطبيقات.
لا نريد أي حوادث أمنية!
4. “إضافة BigBlueButton” إلى منشورك
بدلاً من الإضافة عبر واجهة “إضافة BigBlueButton” العادية، ما عليك سوى لصق التالي في منشورك:
[wrap=discourse-bbb meetingID="XXXXX" attendeePW="YYYYY" moderatorPW="ZZZZZ" mobileIframe="false" desktopIframe="false"][/wrap]
واستبدل القيم بما حصلت عليه في الخطوة 3:
- XXXXX بمحتوى
meetingID
- YYYYY بمحتوى
attendeePW
- ZZZZZZ بمحتوى
moderatorPW
ثم احفظ المنشور.
6. يجب أن يعمل الآن \o/
يجب أن تكون قادرًا الآن على الانضمام من خلال Discourse ومن خلال واجهة المستخدم الأمامية الأخرى التي كنت تستخدمها. إذا كانت Greenlight، يمكنك أيضًا الانضمام عبر الرابط الآن.}