getMeetings – Alle vergaderingen weergeven
Het endpoint getMeetings retourneert een lijst van alle vergaderingen die momenteel op de BigBlueButton-server bestaan, inclusief deelnemersdetails en metadata. Het is het belangrijkste hulpmiddel voor het bouwen van beheerdashboards, het monitoren van serverbelasting en capaciteitsplanning over je infrastructuur heen.
Endpoint
GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum Dit endpoint vereist geen extra parameters naast de checksum. Het retourneert alle vergaderingen op de server in één enkel antwoord.
Parameters
| Parameter | Type | Vereist | Standaard | Beschrijving |
|---|---|---|---|---|
checksum | String | Ja | — | Veiligheids-checksum berekend uit de naam van de API-aanroep en het gedeelde geheim. |
Voorbeeldverzoek
https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum Voorbeeldrespons
Vergaderingen gevonden
<response>
<returncode>SUCCESS</returncode>
<meetings>
<meeting>
<meetingName>Demo Meeting</meetingName>
<meetingID>replace-with-meeting-id</meetingID>
<internalMeetingID>a0715c95...</internalMeetingID>
<createTime>1531241258036</createTime>
<createDate>Tue Jul 10 16:47:38 UTC 2018</createDate>
<voiceBridge>70066</voiceBridge>
<dialNumber>613-555-1234</dialNumber>
<attendeePW>ap</attendeePW>
<moderatorPW>mp</moderatorPW>
<running>true</running>
<duration>0</duration>
<hasUserJoined>true</hasUserJoined>
<recording>false</recording>
<hasBeenForciblyEnded>false</hasBeenForciblyEnded>
<startTime>1531241258074</startTime>
<endTime>0</endTime>
<participantCount>5</participantCount>
<listenerCount>2</listenerCount>
<voiceParticipantCount>3</voiceParticipantCount>
<videoCount>2</videoCount>
<maxUsers>0</maxUsers>
<moderatorCount>1</moderatorCount>
<attendees>
<attendee>
<userID>w_ftcrsyuh44oj</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/>
<isBreakout>false</isBreakout>
</meeting>
</meetings>
</response> Geen vergaderingen gevonden
<response>
<returncode>SUCCESS</returncode>
<meetings/>
<messageKey>noMeetings</messageKey>
<message>no meetings were found on this server</message>
</response> Antwoordvelden per vergadering
| Veld | Type | Beschrijving |
|---|---|---|
meetingName | String | Weergavenaam van de vergadering. |
meetingID | String | Externe vergaderings-ID zoals opgegeven tijdens het aanmaken. |
internalMeetingID | String | Interne, door de server gegenereerde unieke ID. |
createTime | Number | Tijdstempel van aanmaak in milliseconden sinds de Unix-epoch. |
createDate | String | Leesbare tekenreeks van de aanmaakdatum. |
voiceBridge | String | Voice bridge-nummer voor audioconferenties. |
dialNumber | String | Inbelnummer voor de vergadering. |
attendeePW | String | Deelnemerswachtwoord. Alleen aanwezig indien ingesteld. Verouderd in BBB 3.0. |
moderatorPW | String | Moderatorwachtwoord. Alleen aanwezig indien ingesteld. Verouderd in BBB 3.0. |
running | Boolean | Of de vergadering momenteel actief is. |
duration | Number | Maximale duur in minuten. 0 betekent onbeperkt. |
hasUserJoined | Boolean | Of ten minste één gebruiker aan de vergadering heeft deelgenomen. |
recording | Boolean | Of opname is ingeschakeld voor deze vergadering. |
hasBeenForciblyEnded | Boolean | Of de vergadering via de API geforceerd is beëindigd. |
startTime | Number | Starttijdstempel in milliseconden sinds de Unix-epoch. |
endTime | Number | Eindtijdstempel. 0 als de vergadering nog loopt. |
participantCount | Number | Huidig aantal deelnemers in de vergadering. |
listenerCount | Number | Aantal deelnemers in alleen-luisterenmodus. |
voiceParticipantCount | Number | Aantal deelnemers met actieve audio. |
videoCount | Number | Aantal actieve webcams. |
maxUsers | Number | Maximaal toegestaan aantal deelnemers. 0 betekent onbeperkt. |
moderatorCount | Number | Aantal moderators dat momenteel in de vergadering is. |
attendees | List | Lijst van alle deelnemers met details zoals userID, fullName, role en mediastatus. |
metadata | Object | Alle aangepaste metadataparameters die zijn doorgegeven tijdens de aanroep van create. |
isBreakout | Boolean | Of dit een breakout room is. |
parentMeetingID | String | Vergaderings-ID van de hoofdvergadering. Alleen aanwezig voor breakout rooms. |
sequence | Number | Volgnummer van de breakout room. Alleen aanwezig voor breakout rooms. |
freeJoin | Boolean | Of deelnemers deze breakout room vrij kunnen kiezen. Alleen aanwezig voor breakout rooms. |
breakoutRooms | List | Lijst van breakout room-ID's. Alleen aanwezig wanneer de vergadering actieve breakout rooms heeft. |
Deelnemergegevens
Elke invoer in de lijst attendees bevat de volgende velden:
| Veld | Type | Beschrijving |
|---|---|---|
userID | String | Unieke interne gebruikers-ID. |
fullName | String | Weergavenaam van de deelnemer. |
role | String | Rol van de deelnemer: MODERATOR of VIEWER. |
isPresenter | Boolean | Of de deelnemer momenteel de presentator is. |
isListeningOnly | Boolean | Of de deelnemer in alleen-luisterenmodus heeft deelgenomen. |
hasJoinedVoice | Boolean | Of de deelnemer heeft deelgenomen aan de spraakconferentie. |
hasVideo | Boolean | Of de deelnemer een actieve webcam heeft. |
clientType | String | Clienttype dat door de deelnemer wordt gebruikt (bijv. HTML5). |
De deelnemerslijst die door getMeetings wordt teruggegeven, bevat alle gebruikers die ooit aan de vergadering hebben deelgenomen, inclusief degenen die al zijn vertrokken. Dit verschilt van getMeetingInfo, dat alleen momenteel verbonden gebruikers teruggeeft. Houd hier rekening mee bij het berekenen van het aantal actieve deelnemers.
Veelvoorkomende gebruikssituaties
- Beheerdersdashboard — toon een overzicht van alle lopende vergaderingen en hun deelnemersaantallen.
- Capaciteitsplanning — bereken het totale aantal actieve deelnemers over alle vergaderingen op de server.
- Monitoring — identificeer vergaderingen zonder moderator of vergaderingen met problemen.
- Automatische opschoning — vind vergaderingen die al lange tijd bestaan zonder deelnemers.
Tips en best practices
Aangezien getMeetings alle vergaderingen op de server retourneert (niet alleen actieve), filter je de resultaten op het veld running als je alleen actieve vergaderingen nodig hebt.
De respons bevat gevoelige informatie zoals deelnemernamen, gebruikers-ID's en wachtwoorden. Roep dit endpoint altijd alleen aan vanuit server-side code. Stel het nooit bloot aan client-side applicaties of eindgebruikers.
Er is geen ondersteuning voor paginering voor dit endpoint. Op servers met veel gelijktijdige vergaderingen kan de respons erg groot worden en de prestaties beïnvloeden. Overweeg de resultaten te cachen als je vaak pollt.
Veelgestelde vragen
running als je alleen actieve vergaderingen nodig hebt.getMeetings retourneert een samenvatting van alle vergaderingen op de server, terwijl getMeetingInfo gedetailleerde informatie over één specifieke vergadering retourneert. Daarnaast bevat de deelnemerslijst in getMeetings alle gebruikers die ooit hebben deelgenomen (inclusief degenen die zijn vertrokken), terwijl getMeetingInfo alleen momenteel verbonden gebruikers weergeeft.isBreakout. Als dit true is, is de vergadering een breakout room en bevat deze extra velden zoals parentMeetingID, sequence en freeJoin. De hoofdvergadering heeft een lijst breakoutRooms met de ID's van de breakout rooms.getMeetings. Alle vergaderingen worden in één enkel antwoord geretourneerd. Voor servers met een zeer groot aantal vergaderingen kun je overwegen caching te implementeren of het endpoint minder vaak aan te roepen om de serverbelasting te verminderen.