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 містить лише поточно підключених користувачів.isBreakout. Якщо воно дорівнює true, зустріч є кімнатою для групової роботи і міститиме додаткові поля, такі як parentMeetingID, sequence та freeJoin. Батьківська зустріч матиме список breakoutRooms, що містить ідентифікатори її кімнат для групової роботи.getMeetings. Усі зустрічі повертаються в одній відповіді. Для серверів з дуже великою кількістю зустрічей розгляньте кешування або рідші виклики кінцевої точки, щоб зменшити навантаження на сервер.