Kapitel 22

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 role statt password, sendChatMessage und clientSettingsOverride?
  • 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.

Häufig gestellte Fragen

Nein. Eine Client-Bibliothek ist praktisch, aber nicht erforderlich. Die API verwendet einfache HTTP-GET/POST-Anfragen mit einem Checksum-Parameter. Jede Sprache, die HTTP-Anfragen senden, einen SHA-256-Hash berechnen und XML parsen kann, kann direkt mit der API interagieren.

Die offizielle bigbluebutton-api-php-Bibliothek ist die empfohlene Wahl. Sie wird aktiv vom BBB-Projekt gepflegt und vom Moodle-BigBlueButton-Plugin verwendet.

Ja. Die Community hat Bibliotheken für weitere Sprachen wie Java, .NET und Go erstellt. Suchen Sie in den Paket-Repositories für Ihre Sprache oder prüfen Sie die BigBlueButton-Community-Foren auf Empfehlungen.

Verwenden Sie API Mate, ein webbasiertes Tool, mit dem Sie BBB-API-Aufrufe interaktiv erstellen und senden können. Sie geben Ihre Server-URL und Ihr Shared Secret ein, wählen einen Endpunkt, füllen die Parameter aus, und das Tool erzeugt die Checksumme und sendet die Anfrage für Sie.

Greenlight ist eine vollständige Webanwendung (Frontend) zur Verwaltung von BigBlueButton-Räumen und Meetings. Eine Client-Bibliothek ist ein Code-Paket, das Sie in Ihrer eigenen Anwendung verwenden, um API-Aufrufe programmgesteuert auszuführen. Greenlight verwendet intern eine Client-Bibliothek.

Scalelite ist ein Load Balancer, der API-Aufrufe auf mehrere BigBlueButton-Server verteilt. Sie benötigen ihn, wenn ein einzelner Server Ihre erwartete Anzahl gleichzeitiger Meetings oder Teilnehmer nicht bewältigen kann. Er fungiert als transparenter Proxy — Ihre Anwendung sendet API-Aufrufe an Scalelite, das diese an einen verfügbaren BBB-Server weiterleitet.