Kapitel 10 GET POST

getMeetingInfo – Hent mødedetaljer

Endepunktet getMeetingInfo returnerer detaljerede oplysninger om et enkelt BigBlueButton-møde, herunder dets aktuelle deltagere, metadata, konfigurationsindstillinger og optagelsesstatus. Brug det til at inspicere et specifikt møde i realtid.

Endepunkt

GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getMeetingInfo?<parameter>&checksum=replace-with-checksum

Dette endepunkt kræver en gyldig tjeksum beregnet ud fra den delte hemmelighed på din BigBlueButton-server. Både GET- og POST-anmodninger understøttes.

Parametre

Parameter Type Påkrævet Beskrivelse
meetingID String Ja Mødeidentifikatoren for det møde, der skal forespørges om. Dette er det ID, du angav, da mødet blev oprettet.

Svarfelter

Et vellykket svar indeholder følgende felter, der beskriver mødet og dets nuværende tilstand:

Felt Type Beskrivelse
returncode String Angiver, om kaldet lykkedes. Returnerer SUCCESS eller FAILED.
meetingName String Mødets navn i et menneskeligt læsbart format.
meetingID String Det eksterne møde-id som angivet ved oprettelsen.
internalMeetingID String Den interne entydige identifikator genereret af BigBlueButton.
createTime Long Tidsstempel (i millisekunder siden epoch), da mødet blev oprettet.
createDate String Menneskeligt læsbar dato og tidspunkt for, hvornår mødet blev oprettet.
voiceBridge String Voice bridge-nummeret til telefonisk opkaldsadgang.
dialNumber String Telefonnummeret til opkaldsadgang, hvis det er konfigureret.
attendeePW String deprecated Deltageradgangskoden. Medtaget af hensyn til bagudkompatibilitet, men forældet siden BigBlueButton 2.5.
moderatorPW String deprecated Moderatoradgangskoden. Medtaget af hensyn til bagudkompatibilitet, men forældet siden BigBlueButton 2.5.
running Boolean Om mødet kører i øjeblikket (true) eller ej (false).
duration Integer Mødets maksimale varighed i minutter. En værdi på 0 betyder ubegrænset.
hasUserJoined Boolean Om mindst én bruger er tilsluttet mødet.
recording Boolean Om mødet bliver optaget.
hasBeenForciblyEnded Boolean Om mødet blev afsluttet af et API-kald end.
startTime Long Tidsstempel (i millisekunder) for, hvornår mødet startede.
endTime Long Tidsstempel (i millisekunder) for, hvornår mødet sluttede. Returnerer 0, hvis det stadig kører.
participantCount Integer Det samlede antal deltagere, der aktuelt er i mødet.
listenerCount Integer Antallet af deltagere i lytte-tilstand.
voiceParticipantCount Integer Antallet af deltagere, der har tilsluttet sig lydkanalen.
videoCount Integer Antallet af deltagere, der deler deres webcam.
maxUsers Integer Det maksimale antal tilladte brugere. En værdi på 0 betyder ubegrænset.
moderatorCount Integer Antallet af moderatorer, der aktuelt er i mødet.
attendees XML Container Indeholder en liste over attendee-elementer med detaljer om hver tilsluttet deltager (se Attendee Fields nedenfor).
metadata XML Container Indeholder de brugerdefinerede metadata-nøgle-værdi-par, der blev sendt ved oprettelsen af mødet.
isBreakout Boolean Om mødet er et grupperum.
parentMeetingID String Id'et for det overordnede møde. Kun til stede for grupperum.
sequence Integer Sekvensnummeret for grupperummet. Kun til stede for grupperum.
freeJoin Boolean Om deltagerne frit kan vælge, hvilket grupperum de vil deltage i. Kun til stede for grupperum.
breakoutRooms XML Container Viser grupperums-id'erne, der er knyttet til dette møde. Kun til stede, når grupperum er blevet oprettet.

Attendee-felter

Hvert attendee-element i attendees indeholder følgende felter:

Felt Type Beskrivelse
userID String Det interne BigBlueButton-bruger-ID, typisk i formatet w_xxxxxxxx.
fullName String Deltagerens visningsnavn.
role Enum Deltagerens rolle: MODERATOR eller VIEWER.
isPresenter Boolean Om deltageren aktuelt er præsentatør.
isListeningOnly Boolean Om deltageren er i lytte-tilstand.
hasJoinedVoice Boolean Om deltageren har tilsluttet sig lydkanalen med en mikrofon.
hasVideo Boolean Om deltageren deler sit webcam.
clientType String Den type klient, deltageren bruger. Typisk HTML5.
customdata XML Container Indeholder brugerdefinerede nøgle-værdi-data som underordnede XML-elementer. Kun til stede, når der blev sat brugerdefinerede data for deltageren under join.

Eksempel på anmodning

GET https://api-guide.bbbserver.com/bigbluebutton/api/getMeetingInfo?meetingID=replace-with-meeting-id&checksum=replace-with-checksum

Eksempelsvar (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>

Fejlsvar

Hvis det angivne møde-ID ikke findes eller allerede er afsluttet, returnerer API'et et FAILED-svar:

<response>
  <returncode>FAILED</returncode>
  <messageKey>notFound</messageKey>
  <message>We could not find a meeting with that meeting ID</message>
</response>

En fejl notFound betyder ikke nødvendigvis, at mødet aldrig blev oprettet. Det kan allerede være afsluttet og fjernet fra serverens hukommelse. BigBlueButton gemmer kun mødedata, mens mødet er aktivt.

getMeetingInfo vs. getMeetings

Aspekt getMeetings getMeetingInfo
Omfang Alle aktive møder på serveren Et enkelt specifikt møde
Parametre Ingen påkrævet meetingID påkrævet
Deltagerdetaljer Alle brugere inklusive dem, der har forladt mødet Kun aktuelt tilsluttede brugere
Anvendelsestilfælde Dashboard- og overvågningsoversigt Målrettet inspektion af et specifikt møde

Typiske anvendelser

  • Logik ved deltagelse — kontrollér, om en moderator er til stede, før gæster omdirigeres til mødet.
  • Deltagerlister — vis nuværende deltagere i en ekstern applikation eller lobby-side.
  • Optagelsesstatus — kontrollér, om optagelse i øjeblikket er aktiv for mødet.
  • Fejlfinding — udfør en detaljeret analyse af et specifikt møde med henblik på fejlfinding.
bbbserver.de er endepunktet getMeetingInfo tilgængeligt på alle abonnementer. Du kan finde dine API-legitimationsoplysninger i serveradministrationsdashboardet.

Tips

Poll getMeetingInfo periodisk for at opbygge en live-deltagerliste. Kombinér felterne voiceParticipantCount og videoCount for at afgøre, hvor mange brugere der aktivt er engageret med lyd og video.

Brug containeren metadata til at sende og hente applikationsspecifikke data såsom oprindelsessystem, callback-URL'er eller brugerdefinerede etiketter uden at forstyrre BigBlueButton-internals.

Felterne attendeePW og moderatorPW er forældede siden BigBlueButton 2.5. De returneres stadig af hensyn til bagudkompatibilitet, men du bør ikke stole på dem til godkendelseslogik i nye integrationer.

Ofte stillede spørgsmål

Du vil modtage et FAILED-svar med messageKey "notFound". BigBlueButton fjerner mødedata fra hukommelsen, når et møde er afsluttet. For at få adgang til oplysninger om tidligere møder skal du i stedet bruge endepunktet getRecordings.

Nej. Deltagerlisten indeholder kun deltagere, der aktuelt er forbundet til mødet. Brugere, der har forladt det, er ikke længere inkluderet. Derimod kan getMeetings inkludere brugere, der har forladt mødet, i visse BigBlueButton-versioner.

Der er ingen hård hastighedsbegrænsning håndhævet af BigBlueButton selv, men hyppig polling (f.eks. hvert sekund) kan lægge unødig belastning på serveren. Et pollinginterval på 5 til 10 sekunder er typisk tilstrækkeligt til de fleste anvendelser.

Ja. Kald getMeetingInfo med meetingID. Hvis svarets returncode er SUCCESS, findes mødet og er aktivt. Hvis det er FAILED med messageKey "notFound", findes mødet ikke eller er allerede afsluttet.

Felter som parentMeetingID, sequence, freeJoin og breakoutRooms vises kun i svaret, når mødet er et grupperum eller har grupperum. For almindelige møder er isBreakout false, og de andre grupperumsfelter udelades.

Containeren customdata indeholder brugerspecifikke nøgle-værdi-par, som blev sendt som parametre, da brugeren deltog i mødet via API-kaldet join. Hver nøgle bliver til et underordnet XML-element. Hvis der ikke blev angivet brugerdefinerede data, kan dette element mangle.