Розділ 9 GET POST

getMeetings – Перелічити всі зустрічі

Кінцева точка getMeetings повертає список усіх зустрічей, що наразі існують на сервері BigBlueButton, включно з даними про учасників і метаданими. Це основний інструмент для створення адміністративних панелей, моніторингу навантаження на сервер і планування місткості вашої інфраструктури.

Ендпоінт

GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum

Ця кінцева точка не потребує жодних додаткових параметрів, окрім контрольної суми. Вона повертає всі зустрічі на сервері в одній відповіді.

Параметри

Параметр Тип Обов’язково За замовчуванням Опис
checksum String Так Захисна контрольна сума, обчислена з назви API-виклику та спільного секрету.

Приклад запиту

https://api-guide.bbbserver.com/bigbluebutton/api/getMeetings?checksum=replace-with-checksum

Приклад відповіді

Зустрічі знайдено

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

Зустрічей не знайдено

<response>
  <returncode>SUCCESS</returncode>
  <meetings/>
  <messageKey>noMeetings</messageKey>
  <message>no meetings were found on this server</message>
</response>

Поля відповіді для кожної зустрічі

Поле Тип Опис
meetingName String Відображувана назва зустрічі.
meetingID String Зовнішній ID зустрічі, вказаний під час створення.
internalMeetingID String Внутрішній унікальний ID, згенерований сервером.
createTime Number Часова позначка створення в мілісекундах від епохи Unix.
createDate String Рядок дати створення у зрозумілому для людини форматі.
voiceBridge String Номер голосового мосту для аудіоконференцій.
dialNumber String Номер для телефонного підключення до зустрічі.
attendeePW String Пароль учасника. Присутній лише якщо встановлено. Застаріло у BBB 3.0.
moderatorPW String Пароль модератора. Присутній лише якщо встановлено. Застаріло у BBB 3.0.
running Boolean Чи є зустріч наразі активною.
duration Number Максимальна тривалість у хвилинах. 0 означає без обмежень.
hasUserJoined Boolean Чи приєднався до зустрічі принаймні один користувач.
recording Boolean Чи ввімкнено запис для цієї зустрічі.
hasBeenForciblyEnded Boolean Чи було зустріч примусово завершено через API.
startTime Number Часова позначка початку в мілісекундах від епохи Unix.
endTime Number Часова позначка завершення. 0, якщо зустріч досі триває.
participantCount Number Поточна кількість учасників у зустрічі.
listenerCount Number Кількість учасників у режимі лише прослуховування.
voiceParticipantCount Number Кількість учасників з активним аудіо.
videoCount Number Кількість активних вебкамер.
maxUsers Number Максимально дозволена кількість учасників. 0 означає без обмежень.
moderatorCount Number Кількість модераторів, які зараз перебувають у зустрічі.
attendees List Список усіх учасників із такими даними, як userID, fullName, role та статус медіа.
metadata Object Усі користувацькі параметри метаданих, передані під час виклику create.
isBreakout Boolean Чи є це кімнатою для групової роботи.
parentMeetingID String Ідентифікатор зустрічі батьківської зустрічі. Присутній лише для кімнат для групової роботи.
sequence Number Порядковий номер кімнати для групової роботи. Присутній лише для кімнат для групової роботи.
freeJoin Boolean Чи можуть учасники вільно обирати цю кімнату для групової роботи. Присутній лише для кімнат для групової роботи.
breakoutRooms List Список ідентифікаторів кімнат для групової роботи. Присутній лише тоді, коли зустріч має активні кімнати для групової роботи.

Дані учасника

Кожен запис у списку attendees містить такі поля:

Поле Тип Опис
userID String Унікальний внутрішній ідентифікатор користувача.
fullName String Ім’я для відображення учасника.
role String Роль учасника: MODERATOR або VIEWER.
isPresenter Boolean Чи є учасник наразі презентером.
isListeningOnly Boolean Чи приєднався учасник у режимі лише прослуховування.
hasJoinedVoice Boolean Чи приєднався учасник до голосової конференції.
hasVideo Boolean Чи має учасник активну вебкамеру.
clientType String Тип клієнта, який використовує учасник (наприклад, HTML5).

Список учасників, повернутий getMeetings, включає усіх користувачів, які коли-небудь приєднувалися до зустрічі, включно з тими, хто вже вийшов. Це відрізняється від getMeetingInfo, який повертає лише користувачів, що наразі підключені. Враховуйте це під час обчислення кількості активних учасників.

Типові сценарії використання

  • Панель адміністратора — відображає огляд усіх поточних зустрічей і кількість їхніх учасників.
  • Планування місткості — обчислює загальну кількість активних учасників у всіх зустрічах на сервері.
  • Моніторинг — виявляє зустрічі без модератора або зустрічі, у яких виникають проблеми.
  • Автоматичне очищення — знаходить зустрічі, які існують тривалий час без жодних учасників.

Поради та найкращі практики

Оскільки getMeetings повертає всі зустрічі на сервері (а не лише активні), фільтруйте результати за полем running, якщо вам потрібні лише активні зустрічі.

Відповідь містить чутливу інформацію, таку як імена учасників, ідентифікатори користувачів і паролі. Завжди викликайте цю кінцеву точку лише з серверного коду. Ніколи не відкривайте її для клієнтських застосунків або кінцевих користувачів.

Для цієї кінцевої точки немає підтримки пагінації. На серверах із великою кількістю одночасних зустрічей відповідь може стати дуже великою та вплинути на продуктивність. Якщо ви часто опитуєте, розгляньте кешування результатів.

Поширені запитання

Ні. Вона повертає всі зустрічі, що наразі існують на сервері, включно із зустрічами, які були створені, але ще не мають учасників. Фільтруйте за полем running, якщо вам потрібні лише активні зустрічі.

getMeetings повертає зведення всіх зустрічей на сервері, тоді як getMeetingInfo повертає детальну інформацію про одну конкретну зустріч. Крім того, список учасників у getMeetings включає всіх користувачів, які коли-небудь приєднувалися (включно з тими, хто вийшов), тоді як getMeetingInfo містить лише поточно підключених користувачів.

Ні. Ці поля включаються у відповідь лише в тому разі, якщо вони були встановлені під час створення зустрічі й не є порожніми. Починаючи з BigBlueButton 3.0, ці поля є застарілими й часто відсутні.

Перевірте поле isBreakout. Якщо воно дорівнює true, зустріч є кімнатою для групової роботи і міститиме додаткові поля, такі як parentMeetingID, sequence та freeJoin. Батьківська зустріч матиме список breakoutRooms, що містить ідентифікатори її кімнат для групової роботи.

Ні. API BigBlueButton не підтримує пагінацію для getMeetings. Усі зустрічі повертаються в одній відповіді. Для серверів з дуже великою кількістю зустрічей розгляньте кешування або рідші виклики кінцевої точки, щоб зменшити навантаження на сервер.
Посібник з API BigBlueButton