getMeetingInfo – Vergaderdetails ophalen
Het endpoint getMeetingInfo retourneert gedetailleerde informatie over één enkele BigBlueButton-vergadering, inclusief de huidige deelnemers, metadata, configuratie-instellingen en opnamestatus. Gebruik het om een specifieke vergadering in realtime te inspecteren.
Endpoint
GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getMeetingInfo?<parameter>&checksum=replace-with-checksum Dit endpoint vereist een geldige checksum die is berekend op basis van het gedeelde geheim van je BigBlueButton-server. Zowel GET- als POST-verzoeken worden ondersteund.
Parameters
| Parameter | Type | Vereist | Beschrijving |
|---|---|---|---|
meetingID | String | Ja | De vergaderingsidentifier van de op te vragen vergadering. Dit is de ID die je hebt opgegeven toen de vergadering werd aangemaakt. |
Responsvelden
Een succesvol antwoord bevat de volgende velden die de vergadering en de huidige status ervan beschrijven:
| Veld | Type | Beschrijving |
|---|---|---|
returncode | String | Geeft aan of de aanroep is geslaagd. Retourneert SUCCESS of FAILED. |
meetingName | String | De voor mensen leesbare naam van de vergadering. |
meetingID | String | De externe vergaderingsidentifier zoals opgegeven tijdens het aanmaken. |
internalMeetingID | String | De interne unieke identificatie die door BigBlueButton wordt gegenereerd. |
createTime | Long | Tijdstempel (in milliseconden sinds epoch) waarop de vergadering is aangemaakt. |
createDate | String | Voor mensen leesbare datum en tijd waarop de vergadering is aangemaakt. |
voiceBridge | String | Het voice bridge-nummer voor telefonische inbeltoegang. |
dialNumber | String | Het telefoonnummer voor inbeltoegang, indien geconfigureerd. |
attendeePW | String deprecated | Het deelnemerswachtwoord. Inbegrepen voor achterwaartse compatibiliteit, maar verouderd sinds BigBlueButton 2.5. |
moderatorPW | String deprecated | Het moderatorwachtwoord. Inbegrepen voor achterwaartse compatibiliteit, maar verouderd sinds BigBlueButton 2.5. |
running | Boolean | Of de vergadering momenteel actief is (true) of niet (false). |
duration | Integer | De maximale duur van de vergadering in minuten. Een waarde van 0 betekent onbeperkt. |
hasUserJoined | Boolean | Of ten minste één gebruiker aan de vergadering heeft deelgenomen. |
recording | Boolean | Of de vergadering wordt opgenomen. |
hasBeenForciblyEnded | Boolean | Of de vergadering is beëindigd door een API-aanroep end. |
startTime | Long | Tijdstempel (in milliseconden) waarop de vergadering is gestart. |
endTime | Long | Tijdstempel (in milliseconden) waarop de vergadering is beëindigd. Retourneert 0 als deze nog actief is. |
participantCount | Integer | Het totale aantal deelnemers dat zich momenteel in de vergadering bevindt. |
listenerCount | Integer | Het aantal deelnemers in alleen-luisterenmodus. |
voiceParticipantCount | Integer | Het aantal deelnemers dat zich bij het audiokanaal heeft aangesloten. |
videoCount | Integer | Het aantal deelnemers dat hun webcam deelt. |
maxUsers | Integer | Het maximaal toegestane aantal gebruikers. Een waarde van 0 betekent onbeperkt. |
moderatorCount | Integer | Het aantal moderators dat zich momenteel in de vergadering bevindt. |
attendees | XML Container | Bevat een lijst met attendee-elementen met details over elke verbonden deelnemer (zie hieronder Attendee Fields). |
metadata | XML Container | Bevat de aangepaste metadata-sleutel-waardeparen die tijdens het aanmaken van de vergadering zijn doorgegeven. |
isBreakout | Boolean | Of de vergadering een breakout room is. |
parentMeetingID | String | De ID van de hoofdvergadering. Alleen aanwezig bij breakout rooms. |
sequence | Integer | Het volgnummer van de breakout room. Alleen aanwezig bij breakout rooms. |
freeJoin | Boolean | Of deelnemers vrij kunnen kiezen bij welke breakout room ze zich aansluiten. Alleen aanwezig bij breakout rooms. |
breakoutRooms | XML Container | Geeft een overzicht van de breakoutroom-ID's die aan deze vergadering zijn gekoppeld. Alleen aanwezig wanneer breakoutrooms zijn aangemaakt. |
Deelnemersvelden
Elk attendee-element binnen attendees bevat de volgende velden:
| Veld | Type | Beschrijving |
|---|---|---|
userID | String | De interne gebruikers-ID van BigBlueButton, doorgaans in het formaat w_xxxxxxxx. |
fullName | String | De weergavenaam van de deelnemer. |
role | Enum | De rol van de deelnemer: MODERATOR of VIEWER. |
isPresenter | Boolean | Of de deelnemer momenteel de presentator is. |
isListeningOnly | Boolean | Of de deelnemer zich in alleen-luisteren-modus bevindt. |
hasJoinedVoice | Boolean | Of de deelnemer het audiokanaal met een microfoon heeft betreden. |
hasVideo | Boolean | Of de deelnemer zijn of haar webcam deelt. |
clientType | String | Het type client dat de deelnemer gebruikt. Doorgaans HTML5. |
customdata | XML Container | Bevat aangepaste sleutel-waardegegevens als onderliggende elementen XML. Alleen aanwezig wanneer aangepaste gegevens voor de deelnemer zijn ingesteld tijdens join. |
Voorbeeldverzoek
GET https://api-guide.bbbserver.com/bigbluebutton/api/getMeetingInfo?meetingID=replace-with-meeting-id&checksum=replace-with-checksum Voorbeeldantwoord (succes)
<response>
<returncode>SUCCESS</returncode>
<meetingName>Project Discussion</meetingName>
<meetingID>replace-with-meeting-id</meetingID>
<internalMeetingID>replace-with-internal-meeting-id</internalMeetingID>
<createTime>1715261728123</createTime>
<createDate>Thu May 09 13:35:28 UTC 2024</createDate>
<voiceBridge>66052</voiceBridge>
<dialNumber>613-555-1234</dialNumber>
<attendeePW>replace-with-password</attendeePW>
<moderatorPW>replace-with-password</moderatorPW>
<running>true</running>
<duration>0</duration>
<hasUserJoined>true</hasUserJoined>
<recording>true</recording>
<hasBeenForciblyEnded>false</hasBeenForciblyEnded>
<startTime>1715261728142</startTime>
<endTime>0</endTime>
<participantCount>3</participantCount>
<listenerCount>1</listenerCount>
<voiceParticipantCount>2</voiceParticipantCount>
<videoCount>2</videoCount>
<maxUsers>0</maxUsers>
<moderatorCount>1</moderatorCount>
<attendees>
<attendee>
<userID>replace-with-user-id</userID>
<fullName>Max Mustermann</fullName>
<role>MODERATOR</role>
<isPresenter>true</isPresenter>
<isListeningOnly>false</isListeningOnly>
<hasJoinedVoice>true</hasJoinedVoice>
<hasVideo>true</hasVideo>
<clientType>HTML5</clientType>
</attendee>
</attendees>
<metadata>
<bbb-origin>greenlight</bbb-origin>
<bbb-origin-version>v3.1.0</bbb-origin-version>
<endcallbackurl>https://api-guide.bbbserver.com/callbacks/meeting-ended</endcallbackurl>
</metadata>
<isBreakout>false</isBreakout>
</response> Foutantwoord
Als de opgegeven meeting-ID niet bestaat of al is beëindigd, retourneert de API een FAILED-antwoord:
<response>
<returncode>FAILED</returncode>
<messageKey>notFound</messageKey>
<message>We could not find a meeting with that meeting ID</message>
</response> Een fout notFound betekent niet noodzakelijk dat de vergadering nooit is aangemaakt. Ze kan al zijn beëindigd en uit het servergeheugen zijn verwijderd. BigBlueButton bewaart vergadergegevens alleen zolang de vergadering actief is.
getMeetingInfo vs. getMeetings
| Aspect | getMeetings | getMeetingInfo |
|---|---|---|
| Bereik | Alle actieve vergaderingen op de server | Eén specifieke vergadering |
| Parameters | Geen vereist | meetingID vereist |
| Deelnemersdetails | Alle gebruikers, inclusief degenen die hebben verlaten | Alleen momenteel verbonden gebruikers |
| Gebruiksscenario | Dashboard- en monitoringoverzicht | Gerichte inspectie van een specifieke vergadering |
Veelvoorkomende gebruikssituaties
- Join-logica — controleer of er een moderator aanwezig is voordat gasten naar de vergadering worden doorgestuurd.
- Deelnemerslijsten — toon huidige deelnemers in een externe applicatie of lobbypagina.
- Opnamestatus — controleer of opname momenteel actief is voor de vergadering.
- Debugging — voer een gedetailleerde analyse van een specifieke vergadering uit voor probleemoplossing.
getMeetingInfo beschikbaar op alle pakketten. Je vindt je API-inloggegevens in het serverbeheerdashboard.Tips
Poll getMeetingInfo periodiek om een live deelnemerslijst op te bouwen. Combineer de velden voiceParticipantCount en videoCount om te bepalen hoeveel gebruikers actief betrokken zijn met audio en video.
Gebruik de container metadata om applicatiespecifieke gegevens zoals het bronsysteem, callback-URL's of aangepaste labels door te geven en op te halen zonder de interne werking van BigBlueButton te verstoren.
De velden attendeePW en moderatorPW zijn verouderd sinds BigBlueButton 2.5. Ze worden nog steeds geretourneerd voor achterwaartse compatibiliteit, maar je moet er in nieuwe integraties niet op vertrouwen voor authenticatielogica.
Veelgestelde vragen
FAILED-antwoord met de messageKey "notFound". BigBlueButton verwijdert vergadergegevens uit het geheugen zodra een vergadering is beëindigd. Gebruik in plaats daarvan het endpoint getRecordings om informatie over eerdere vergaderingen op te halen.getMeetings in bepaalde BigBlueButton-versies gebruikers bevatten die de vergadering hebben verlaten.BigBlueButton zelf wordt afgedwongen, maar frequent pollen (bijvoorbeeld elke seconde) kan onnodige belasting op de server veroorzaken. Een pollinginterval van 5 tot 10 seconden is doorgaans voldoende voor de meeste toepassingen.getMeetingInfo aan met de meetingID. Als de returncode in het antwoord SUCCESS is, bestaat de vergadering en is deze actief. Als deze FAILED is met messageKey "notFound", bestaat de vergadering niet of is deze al beëindigd.parentMeetingID, sequence, freeJoin en breakoutRooms verschijnen alleen in het antwoord wanneer de vergadering een breakout room is of breakout rooms heeft. Voor gewone vergaderingen is isBreakout gelijk aan false en worden de andere breakout-velden weggelaten.customdata bevat gebruikersspecifieke sleutel-waardeparen die als parameters zijn doorgegeven toen de gebruiker via de API-aanroep join aan de vergadering deelnam. Elke sleutel wordt een onderliggend element XML. Als er geen aangepaste gegevens zijn opgegeven, kan dit element ontbreken.