getRecordings – Отримати записи
Кінцева точка getRecordings повертає список записів із вашого сервера BigBlueButton, відфільтрованих за ID зустрічі, ID запису або станом. Починаючи з BBB 2.7, вона підтримує пагінацію, що дозволяє легко отримувати великі набори записів керованими частинами.
Ендпоінт
GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getRecordings?<parameters>&checksum=replace-with-checksum Параметри
| Параметр | Тип | Обов’язково | За замовчуванням | Опис |
|---|---|---|---|---|
meetingID | String | — | — | Список ID зустрічей, розділених комами. Ігнорується, якщо вказано recordID. Якщо параметр опущено, повертаються всі записи. |
recordID | String | — | — | Список ID записів, розділених комами. Має пріоритет над meetingID. Підтримує зіставлення за префіксом — наприклад, 652c9eb4 відповідає всім записам, ID яких починається з цього префікса. |
state | String | — | published,unpublished | Фільтр стану, розділений комами. Допустимі значення: processing, processed, published, unpublished, deleted. Використовуйте any, щоб повернути всі стани. |
meta | String | — | — | Фільтр метаданих у тому самому форматі, що й у виклику create (наприклад, meta_presenter=John). |
offset | Integer | — | 0 | Початковий індекс для пагінації. Має ефект лише тоді, коли також вказано limit. BBB 2.7+ |
limit | Integer | — | — | Максимальна кількість записів у відповіді (від 1 до 100). Значення поза цим діапазоном автоматично обмежуються. BBB 2.7+ |
Жоден із параметрів не є обов’язковим. Виклик getRecordings без будь-якого фільтра повертає всі записи published і unpublished на сервері.
Стани запису
| Стан | Опис |
|---|---|
processing | Запис наразі обробляється. |
processed | Обробку завершено, але запис ще не опубліковано. |
published | Запис опубліковано, і він доступний користувачам. |
unpublished | Запис існує, але недоступний користувачам. |
deleted | Запис позначено для видалення. |
Типовий фільтр стану включає лише записи published і unpublished. Щоб побачити записи, які ще обробляються або були видалені, потрібно явно встановити параметр state.
Поля відповіді
| Поле | Тип | Опис |
|---|---|---|
recordID | String | Унікальний ідентифікатор запису. |
meetingID | String | Зовнішній ID зустрічі, пов’язаний із цим записом. |
internalMeetingID | String | Внутрішній ID зустрічі, який використовується BigBlueButton. |
name | String | Назва зустрічі на момент її запису. |
isBreakout | Boolean | Чи є цей запис із сесійної кімнати. |
published | Boolean | Чи опублікований цей запис наразі. |
state | String | Поточний стан запису (processing, processed, published, unpublished, deleted). |
startTime | Long | Часова мітка Unix у мілісекундах, коли зустріч розпочалася. |
endTime | Long | Часова мітка Unix у мілісекундах, коли зустріч завершилася. |
participants | Integer | Кількість учасників зустрічі. |
rawSize | Long | Розмір необроблених даних запису в байтах. |
size | Long | Розмір обробленого запису в байтах. |
metadata | Object | Користувацькі пари ключ-значення метаданих, пов’язані із записом. |
playback | Object | Деталі формату відтворення, включно з URL, часом обробки, тривалістю, розміром і мініатюрами попереднього перегляду. |
totalElements | Integer | Загальна кількість записів, що відповідають запиту. Присутнє лише тоді, коли використовуються параметри пагінації. BBB 2.7+ |
Приклад запиту
Усі опубліковані записи
getRecordings?checksum=replace-with-checksum Записи для конкретної зустрічі
getRecordings?meetingID=replace-with-meeting-id&checksum=replace-with-checksum Кілька зустрічей
getRecordings?meetingID=replace-with-meeting-id-1,replace-with-meeting-id-2&checksum=replace-with-checksum За ID запису
getRecordings?recordID=replace-with-recording-id&checksum=replace-with-checksum Усі стани
getRecordings?state=any&checksum=replace-with-checksum Запит із пагінацією (записи з 21 до 30)
getRecordings?state=published&offset=20&limit=10&checksum=replace-with-checksum Приклад відповіді
<response>
<returncode>SUCCESS</returncode>
<recordings>
<recording>
<recordID>replace-with-recording-id</recordID>
<meetingID>replace-with-meeting-id</meetingID>
<internalMeetingID>replace-with-internal-meeting-id</internalMeetingID>
<name>Project Meeting</name>
<isBreakout>false</isBreakout>
<published>true</published>
<state>published</state>
<startTime>1462283509434</startTime>
<endTime>1462284509434</endTime>
<participants>5</participants>
<metadata>
<bbb-origin>greenlight</bbb-origin>
</metadata>
<rawSize>123456789</rawSize>
<size>98765432</size>
<playback>
<format>
<type>presentation</type>
<url>https://api-guide.bbbserver.com/playback/presentation/2.3/replace-with-recording-id</url>
<processingTime>62890</processingTime>
<length>45</length>
<size>98765432</size>
<preview>
<images>
<image width="176" height="136" alt="Welcome">
https://api-guide.bbbserver.com/presentation/replace-with-recording-id/thumbnail_0.png
</image>
</images>
</preview>
</format>
</playback>
</recording>
</recordings>
</response> Пагінація BBB 2.7+
Якщо ви додаєте параметри offset та/або limit, відповідь міститиме додаткове поле totalElements, яке вказує загальну кількість записів, що відповідають запиту. Це дає змогу обчислити загальну кількість сторінок і побудувати елементи керування пагінацією у вашому застосунку.
<response>
<returncode>SUCCESS</returncode>
<totalElements>42</totalElements>
<recordings>
<!-- recording elements -->
</recordings>
</response> getRecordings повністю доступна через API. Пагінація підтримується на всіх поточних серверних тарифах, що працюють на BBB 2.7 або новіше.Поради
- Використовуйте
recordIDіз префіксом для пошуку записів, коли у вас є лише частковий ID —BigBlueButtonзіставляє всі записи, ID яких починається з вказаного рядка. - Завжди явно вказуйте параметр
state, якщо вам потрібно бачити записи, які ще обробляються або були видалені, оскільки за замовчуванням вони виключаються. - Поєднуйте
meetingIDізstate, щоб ефективно звузити результати — наприклад, щоб знайти лише опубліковані записи для конкретної зустрічі. - Для великих інсталяцій із великою кількістю записів використовуйте пагінацію, щоб уникнути тайм-аутів і зменшити розмір відповідей.
- Використовуйте фільтри метаданих (параметри
meta_), щоб знаходити записи на основі користувацьких атрибутів, заданих під час створення зустрічі.
Поширені запитання
published або unpublished. Записи, які все ще обробляються або були позначені на видалення, не включаються, якщо ви явно не встановите параметр state.BigBlueButton зіставляє всі записи, повний ID яких починається з указаного рядка. Наприклад, передавання 652c9eb4 поверне кожен запис, ID якого починається з цього префікса. В офіційній документації це іноді називається зіставленням із шаблоном, але фактично це суворо зіставлення за префіксом (startsWith), а не пошук підрядка.meta з тими самими назвами ключів, які ви встановили під час створення зустрічі. Наприклад, якщо ви передали meta_presenter=John під час створення зустрічі, ви можете фільтрувати за тією ж парою ключ-значення у getRecordings. Зверніть увагу, що точна поведінка зіставлення для фільтрів метаданих не повністю визначена в офіційній документації.meetingID — це зовнішній ідентифікатор, який ви призначили під час створення зустрічі. Одна зустріч може створити кілька записів. recordID — це унікальний ідентифікатор кожного окремого запису. Якщо вказано обидва, пріоритет має recordID, а meetingID ігнорується.BBB 2.7 або новішої версії. Установіть параметр limit, щоб керувати кількістю записів, які повертаються за один запит (від 1 до 100), і використовуйте offset, щоб пропустити певну кількість результатів. Відповідь міститиме поле totalElements, щоб ви могли обчислити загальну кількість сторінок. Параметр offset не має ефекту, якщо також не вказано limit.BigBlueButton автоматично обмежує значення до дозволеного діапазону. Якщо ви передасте значення більше 100, воно буде трактуватися як 100. Якщо ви передасте значення менше 1, воно буде трактуватися як 1. Помилка не повертається.isBreakout зі значенням true. Вони також можуть містити додаткові поля, такі як ID батьківської зустрічі та порядковий номер кімнати для груп.