Client-Bibliotheken & Integrationswerkzeuge
Client-Bibliotheken abstrahieren die Details der Checksum-Berechnung, der Konstruktion von HTTP-Anfragen und des Parsens von XML-Antworten, sodass Sie über typisierte Methoden in Ihrer bevorzugten Programmiersprache mit der BigBlueButton-API interagieren können. Dieses Kapitel bietet einen Überblick über verfügbare Bibliotheken, Integrationstools und Hinweise zur Wahl der richtigen Option für Ihr Projekt.
Offizielle Bibliotheken
Die folgenden Bibliotheken werden vom BigBlueButton-Projekt selbst oder von eng verbundenen Mitwirkenden gepflegt. Sie sind im Allgemeinen gut gepflegt und verfolgen neue API-Funktionen, sobald sie veröffentlicht werden.
| Bibliothek | Sprache | Repository | Hinweise |
|---|---|---|---|
| bigbluebutton-api-php | PHP | GitHub | Offizielle PHP-Bibliothek. Wird vom Moodle-BBB-Plugin verwendet. Aktiv gepflegt. |
| bigbluebutton-api-js | JavaScript / Node.js | GitHub | Offizielle JavaScript-Bibliothek für serverseitige Node.js-Nutzung. |
Community-Bibliotheken
Diese Bibliotheken werden von der Community entwickelt und gepflegt. Ihre Qualität und Aktualisierungsfrequenz variieren — prüfe immer den Wartungsstatus und die unterstützte BBB-Version, bevor du eine davon einsetzt.
| Bibliothek | Sprache | Repository | Hinweise |
|---|---|---|---|
| bigbluebutton-api-python | Python | PyPI | Von der Community gepflegte Python-Bibliothek. |
| bigbluebutton-api-ruby | Ruby | RubyGems | Vom Mconf-Projekt. Von der Community gepflegt. |
Diese Liste ist nicht vollständig. Es gibt weitere Community-Projekte, die hier nicht aufgeführt sind. Die Pflege und Aktualität jeder Bibliothek liegt in der Verantwortung ihrer jeweiligen Maintainer — überprüfe immer, ob eine Bibliothek deine Ziel-BBB-Version unterstützt, bevor du sie in Produktion verwendest.
Integrationstools
Neben Client-Bibliotheken können mehrere Tools Ihnen beim Testen, Verwalten und Skalieren von BigBlueButton-Deployments helfen:
| Werkzeug | Beschreibung |
|---|---|
| API Mate (bigbluebutton.org) | Webbasiertes Tool zum Testen von BBB-API-Aufrufen. bigbluebutton.org/api-mate/ |
| API Mate (Mconf) | Alternatives webbasiertes API-Testtool. mconf.github.io/api-mate/ |
| bbb-conf | CLI-Tool auf dem BBB-Server. Zeigt Secret, URL und Status über bbb-conf --secret an. |
| Greenlight | Offizielles BBB-Frontend, gebaut mit Ruby on Rails. Verwendet die API intern zur Verwaltung von Räumen und Meetings. |
| Scalelite | Load Balancer für mehrere BBB-Server. Leitet API-Aufrufe an verfügbare Instanzen weiter und verteilt sie auf diese. |
Auswahl einer Bibliothek
Wenn Sie eine Client-Bibliothek für Ihr Projekt bewerten, sollten Sie die folgenden Kriterien berücksichtigen:
- Unterstützung der BBB-Version: Unterstützt die Bibliothek BBB 3.0-Funktionen wie
rolestattpassword,sendChatMessageundclientSettingsOverride? - Checksum-Algorithmus: Unterstützt die Bibliothek SHA-256 und SHA-512 oder nur das ältere SHA-1?
- POST-Unterstützung: Kann die Bibliothek XML-Bodies senden (erforderlich für Präsentations-Uploads und
clientSettingsOverride)? - Wartungsstatus: Wann war der letzte Commit? Gibt es ungelöste Issues ohne jede Antwort?
- Webhook-Unterstützung: Bietet die Bibliothek Hilfsfunktionen für die Webhook-Registrierung und Callback-Validierung?
Wenn Sie nur grundlegende Operationen wie das Erstellen und Beitreten zu Meetings benötigen, ist eine voll ausgestattete Bibliothek möglicherweise nicht erforderlich. Eine schlanke benutzerdefinierte Integration kann einfacher zu warten und leichter zu prüfen sein.
Erstellung einer benutzerdefinierten Integration
Wenn keine der vorhandenen Bibliotheken Ihren Anforderungen entspricht, können Sie mit jeder HTTP-fähigen Sprache Ihre eigene Integration erstellen. Die Kernlogik besteht aus drei Komponenten:
Checksum-Funktion — berechnen Sie den SHA-256-Hash aus dem API-Aufrufnamen, dem Query-String und dem Shared Secret. Im Kapitel zur Checksum-Authentifizierung finden Sie Implementierungsbeispiele in mehreren Sprachen.
HTTP GET/POST — Senden Sie die Anfrage an die BBB-API-URL, wobei die Checksum als Query-Parameter angehängt wird.
XML-Parsing — parsen Sie die Antwort-XML und prüfen Sie das Feld returncode auf SUCCESS oder FAILED.
Für einfache Integrationen, die nur create und join benötigen, lässt sich dies mit nur wenigen Zeilen Code umsetzen — eine vollständige Bibliothek ist nicht zwingend erforderlich.
# Minimal example: create + join (pseudocode)
secret = "replace-with-secret"
base = "https://api-guide.bbbserver.com/bigbluebutton/api"
# 1. Build query string
params = "name=Demo&meetingID=replace-with-meeting-id&attendeePW=replace-with-password&moderatorPW=replace-with-password"
# 2. Compute checksum
checksum = sha256("create" + params + secret)
# 3. Send request
response = http_get(base + "/create?" + params + "&checksum=" + checksum)
# 4. Parse XML response
if parse_xml(response).returncode == "SUCCESS":
# Build join URL for a moderator
join_params = "fullName=Admin&meetingID=demo-1&role=MODERATOR"
join_checksum = sha256("join" + join_params + secret)
redirect_to(base + "/join?" + join_params + "&checksum=" + join_checksum) Erzeugen Sie API-Aufrufe immer serverseitig. Das Shared Secret darf niemals in clientseitigem Code wie JavaScript im Browser oder in mobilen Anwendungen offengelegt werden.