Capitolo 11 GET POST

getRecordings – Recupera registrazioni

L'endpoint getRecordings restituisce un elenco di registrazioni dal tuo server BigBlueButton, filtrato per meeting ID, recording ID o stato. Supporta la paginazione a partire da BBB 2.7, rendendo facile recuperare grandi insiemi di registrazioni in blocchi gestibili.

Endpoint

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

Parametri

Parametro Tipo Obbligatorio Predefinito Descrizione
meetingID String Elenco di meeting ID separati da virgole. Ignorato quando viene fornito recordID. Se omesso, vengono restituite tutte le registrazioni.
recordID String Elenco di ID registrazione separati da virgole. Ha la precedenza su meetingID. Supporta la corrispondenza per prefisso — ad esempio, 652c9eb4 corrisponde a tutte le registrazioni il cui ID inizia con quel prefisso.
state String published,unpublished Filtro di stato separato da virgole. Valori validi: processing, processed, published, unpublished, deleted. Usa any per restituire tutti gli stati.
meta String Filtro metadati usando lo stesso formato della chiamata create (ad es. meta_presenter=John).
offset Integer 0 Indice iniziale per la paginazione. Ha effetto solo quando viene fornito anche limit. BBB 2.7+
limit Integer Numero massimo di registrazioni per risposta (da 1 a 100). I valori al di fuori di questo intervallo vengono limitati automaticamente. BBB 2.7+

Nessuno dei parametri è obbligatorio. Chiamare getRecordings senza alcun filtro restituisce tutte le registrazioni published e unpublished sul server.

Stati della registrazione

Stato Descrizione
processing La registrazione è attualmente in fase di elaborazione.
processed L'elaborazione è completata, ma la registrazione non è ancora stata pubblicata.
published La registrazione è pubblicata e accessibile agli utenti.
unpublished La registrazione esiste ma non è accessibile agli utenti.
deleted La registrazione è stata contrassegnata per l'eliminazione.

Il filtro di stato predefinito include solo le registrazioni published e unpublished. Per vedere le registrazioni che sono ancora in fase di elaborazione o che sono state eliminate, è necessario impostare esplicitamente il parametro state.

Campi della risposta

Campo Tipo Descrizione
recordID String Identificatore univoco della registrazione.
meetingID String L'ID riunione esterno associato a questa registrazione.
internalMeetingID String L'ID interno della riunione usato da BigBlueButton.
name String Il nome della riunione al momento della registrazione.
isBreakout Boolean Se questa registrazione proviene da una stanza di sottogruppo.
published Boolean Se la registrazione è attualmente pubblicata.
state String Stato corrente della registrazione (processing, processed, published, unpublished, deleted).
startTime Long Timestamp Unix in millisecondi relativo all'inizio della riunione.
endTime Long Timestamp Unix in millisecondi relativo alla fine della riunione.
participants Integer Numero di partecipanti alla riunione.
rawSize Long Dimensione dei dati grezzi della registrazione in byte.
size Long Dimensione della registrazione elaborata in byte.
metadata Object Coppie chiave-valore di metadati personalizzati associate alla registrazione.
playback Object Dettagli del formato di riproduzione, inclusi URL, tempo di elaborazione, durata, dimensione e miniature di anteprima.
totalElements Integer Numero totale di registrazioni corrispondenti. Presente solo quando vengono usati i parametri di paginazione. BBB 2.7+

Esempio di richiesta

Tutte le registrazioni pubblicate

getRecordings?checksum=replace-with-checksum

Registrazioni per una riunione specifica

getRecordings?meetingID=replace-with-meeting-id&checksum=replace-with-checksum

Più riunioni

getRecordings?meetingID=replace-with-meeting-id-1,replace-with-meeting-id-2&checksum=replace-with-checksum

Per ID registrazione

getRecordings?recordID=replace-with-recording-id&checksum=replace-with-checksum

Tutti gli stati

getRecordings?state=any&checksum=replace-with-checksum

Richiesta paginata (registrazioni da 21 a 30)

getRecordings?state=published&offset=20&limit=10&checksum=replace-with-checksum

Risposta di esempio

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

Paginazione BBB 2.7+

Quando includi i parametri offset e/o limit, la risposta contiene un campo aggiuntivo totalElements che indica il numero totale di registrazioni corrispondenti. Questo ti consente di calcolare il numero totale di pagine e di creare controlli di paginazione nella tua applicazione.

<response>
  <returncode>SUCCESS</returncode>
  <totalElements>42</totalElements>
  <recordings>
    <!-- recording elements -->
  </recordings>
</response>
bbbserver.de — Su bbbserver.de, l'endpoint getRecordings è pienamente disponibile tramite l'API. La paginazione è supportata su tutti i piani server attuali che eseguono BBB 2.7 o versioni successive.

Suggerimenti

  • Usa recordID con un prefisso per cercare registrazioni quando hai solo un ID parziale — BigBlueButton abbina tutte le registrazioni il cui ID inizia con la stringa fornita.
  • Specifica sempre esplicitamente il parametro state se hai bisogno di visualizzare registrazioni ancora in elaborazione o che sono state eliminate, poiché queste sono escluse per impostazione predefinita.
  • Combina meetingID con state per restringere i risultati in modo efficiente, ad esempio per trovare solo le registrazioni pubblicate di una riunione specifica.
  • Per installazioni di grandi dimensioni con molte registrazioni, usa la paginazione per evitare timeout e ridurre la dimensione delle risposte.
  • Usa i filtri dei metadati (parametri meta_) per trovare registrazioni in base ad attributi personalizzati impostati durante la creazione della riunione.

Domande frequenti

L'endpoint restituisce tutte le registrazioni con stato published o unpublished. Le registrazioni ancora in elaborazione o contrassegnate per l'eliminazione non sono incluse, a meno che tu non imposti esplicitamente il parametro state.

Quando fornisci un ID di registrazione parziale, BigBlueButton abbina tutte le registrazioni il cui ID completo inizia con la stringa fornita. Ad esempio, passando 652c9eb4 verrà restituita ogni registrazione il cui ID inizia con quel prefisso. Nella documentazione ufficiale questo viene talvolta definito wildcard matching, ma è strettamente basato sul prefisso (startsWith), non sul matching di sottostringa.

Sì. Usa il parametro meta con gli stessi nomi di chiave che hai impostato durante la creazione della riunione. Ad esempio, se hai passato meta_presenter=John durante la creazione della riunione, puoi filtrare con la stessa coppia chiave-valore in getRecordings. Nota che il comportamento esatto di matching per i filtri dei metadati non è completamente specificato nella documentazione ufficiale.

Il meetingID è l'identificatore esterno che hai assegnato quando hai creato la riunione. Una singola riunione può produrre più registrazioni. Il recordID è un identificatore univoco per ogni singola registrazione. Quando vengono forniti entrambi, recordID ha la precedenza e meetingID viene ignorato.

La paginazione richiede BBB 2.7 o successivo. Imposta il parametro limit per controllare quante registrazioni vengono restituite per richiesta (da 1 a 100) e usa offset per saltare un certo numero di risultati. La risposta includerà un campo totalElements così potrai calcolare il numero totale di pagine. Il parametro offset non ha effetto a meno che non sia specificato anche limit.

BigBlueButton limita automaticamente il valore all'intervallo consentito. Se passi un valore superiore a 100, viene trattato come 100. Se passi un valore inferiore a 1, viene trattato come 1. Non viene restituito alcun errore.

Sì. Le registrazioni delle breakout room sono incluse e possono essere identificate dal campo isBreakout impostato su true. Possono anche contenere campi aggiuntivi come l'ID della riunione principale e il numero di sequenza della breakout.