Bölüm 11 GET POST

getRecordings – Kayıtları Getir

getRecordings uç noktası, meeting ID, recording ID veya state'e göre filtrelenmiş şekilde BigBlueButton sunucunuzdan bir kayıt listesi döndürür. BBB 2.7 ile başlayan sayfalamayı destekler; böylece büyük kayıt kümelerini yönetilebilir parçalarda almak kolaylaşır.

Uç Nokta

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

Parametreler

Parametre Tür Gerekli Varsayılan Açıklama
meetingID String Virgülle ayrılmış meeting ID listesi. recordID sağlandığında yok sayılır. Atlanırsa tüm kayıtlar döndürülür.
recordID String Virgülle ayrılmış kayıt kimlikleri listesi. meetingID üzerinde önceliğe sahiptir. Önek eşleştirmesini destekler — örneğin 652c9eb4, kimliği bu önekle başlayan tüm kayıtlarla eşleşir.
state String published,unpublished Virgülle ayrılmış durum filtresi. Geçerli değerler: processing, processed, published, unpublished, deleted. Tüm durumları döndürmek için any kullanın.
meta String create çağrısındakiyle aynı biçimi kullanan meta veri filtresi (ör. meta_presenter=John).
offset Integer 0 Sayfalama için başlangıç indeksi. Yalnızca limit de sağlandığında etkili olur. BBB 2.7+
limit Integer Yanıt başına en fazla kayıt sayısı (1 ila 100). Bu aralığın dışındaki değerler otomatik olarak sınırlandırılır. BBB 2.7+

Parametrelerin hiçbiri zorunlu değildir. getRecordings çağrısını herhangi bir filtre olmadan yapmak, sunucudaki tüm published ve unpublished kayıtları döndürür.

Kayıt Durumları

Durum Açıklama
processing Kayıt şu anda işleniyor.
processed İşleme tamamlandı, ancak kayıt henüz yayımlanmadı.
published Kayıt yayımlanmıştır ve kullanıcılar tarafından erişilebilir durumdadır.
unpublished Kayıt mevcuttur ancak kullanıcılar tarafından erişilemez.
deleted Kayıt silinmek üzere işaretlenmiştir.

Varsayılan durum filtresi yalnızca published ve unpublished kayıtlarını içerir. Hâlâ işlenmekte olan veya silinmiş kayıtları görmek için state parametresini açıkça ayarlamanız gerekir.

Yanıt Alanları

Alan Tür Açıklama
recordID String Kaydın benzersiz tanımlayıcısı.
meetingID String Bu kayıtla ilişkili harici toplantı kimliği.
internalMeetingID String BigBlueButton tarafından kullanılan dahili meeting ID.
name String Kaydedildiği sıradaki toplantının adı.
isBreakout Boolean Bu kaydın bir çalışma odasından olup olmadığı.
published Boolean Bu kaydın şu anda yayımlanmış olup olmadığı.
state String Kaydın mevcut durumu (processing, processed, published, unpublished, deleted).
startTime Long Toplantının başladığı zamanı gösteren, milisaniye cinsinden Unix zaman damgası.
endTime Long Toplantının bittiği zamanı gösteren, milisaniye cinsinden Unix zaman damgası.
participants Integer Toplantıdaki katılımcı sayısı.
rawSize Long Ham kayıt verisinin bayt cinsinden boyutu.
size Long İşlenmiş kaydın bayt cinsinden boyutu.
metadata Object Kayıtla ilişkili özel metadata anahtar-değer çiftleri.
playback Object URL, işleme süresi, uzunluk, boyut ve önizleme küçük resimleri dahil oynatma biçimi ayrıntıları.
totalElements Integer Eşleşen kayıtların toplam sayısı. Yalnızca sayfalama parametreleri kullanıldığında bulunur. BBB 2.7+

Örnek İstek

Tüm yayımlanmış kayıtlar

getRecordings?checksum=replace-with-checksum

Belirli bir toplantıya ait kayıtlar

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

Birden fazla toplantı

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

Kayıt kimliğine göre

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

Tüm durumlar

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

Sayfalı istek (21 ila 30. kayıtlar)

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

Örnek Yanıt

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

Sayfalama BBB 2.7+

offset ve/veya limit parametrelerini eklediğinizde, yanıt eşleşen kayıtların toplam sayısını gösteren ek bir totalElements alanı içerir. Bu, toplam sayfa sayısını hesaplamanızı ve uygulamanızda sayfalama denetimleri oluşturmanızı sağlar.

<response>
  <returncode>SUCCESS</returncode>
  <totalElements>42</totalElements>
  <recordings>
    <!-- recording elements -->
  </recordings>
</response>
bbbserver.de — bbbserver.de üzerinde getRecordings uç noktası API üzerinden tamamen kullanılabilir durumdadır. Sayfalama, BBB 2.7 veya üzerini çalıştıran tüm güncel sunucu planlarında desteklenir.

İpuçları

  • Yalnızca kısmi bir kimliğiniz olduğunda kayıtları aramak için recordID değerini bir önekle kullanın — BigBlueButton, kimliği verilen dizeyle başlayan tüm kayıtlarla eşleşir.
  • Hâlâ işlenmekte olan veya silinmiş kayıtları görmeniz gerekiyorsa state parametresini her zaman açıkça belirtin; çünkü bunlar varsayılan olarak hariç tutulur.
  • Sonuçları verimli şekilde daraltmak için meetingID ile state parametrelerini birleştirin — örneğin, belirli bir toplantı için yalnızca yayımlanmış kayıtları bulmak üzere.
  • Çok sayıda kaydın bulunduğu büyük kurulumlarda zaman aşımını önlemek ve yanıt boyutlarını azaltmak için sayfalama kullanın.
  • Toplantı oluşturulurken ayarlanan özel özniteliklere göre kayıtları bulmak için metadata filtrelerini (meta_ parametreleri) kullanın.

Sıkça Sorulan Sorular

Uç nokta, durumu published veya unpublished olan tüm kayıtları döndürür. Hâlâ işlenmekte olan veya silinmek üzere işaretlenmiş kayıtlar, state parametresini açıkça ayarlamadığınız sürece dahil edilmez.

Kısmi bir kayıt kimliği verdiğinizde, BigBlueButton tam kimliği verilen dizeyle başlayan tüm kayıtlarla eşleşir. Örneğin, 652c9eb4 geçirmek, kimliği bu önekle başlayan her kaydı döndürür. Resmî dokümantasyonda buna bazen joker karakter eşleştirmesi denir, ancak bu kesinlikle önek tabanlıdır (startsWith), alt dize eşleştirmesi değildir.

Evet. Toplantı oluşturma sırasında ayarladığınız anahtar adlarıyla aynı olan meta parametresini kullanın. Örneğin, toplantıyı oluştururken meta_presenter=John gönderdiyseniz, getRecordings içinde aynı anahtar-değer çiftiyle filtreleme yapabilirsiniz. Meta veri filtrelerinin tam eşleşme davranışının resmî dokümantasyonda tam olarak belirtilmediğini unutmayın.

meetingID, toplantıyı oluştururken atadığınız harici tanımlayıcıdır. Tek bir toplantı birden fazla kayıt üretebilir. recordID ise her bir kayıt için benzersiz bir tanımlayıcıdır. Her ikisi de sağlandığında recordID önceliklidir ve meetingID yok sayılır.

Sayfalama için BBB 2.7 veya daha yenisi gerekir. İstek başına kaç kaydın döndürüleceğini kontrol etmek için limit parametresini (1 ila 100) ayarlayın ve belirli sayıda sonucu atlamak için offset kullanın. Yanıt, toplam sayfa sayısını hesaplayabilmeniz için bir totalElements alanı içerecektir. offset parametresi, limit da belirtilmedikçe etkili olmaz.

BigBlueButton değeri otomatik olarak izin verilen aralığa sınırlar. 100'den büyük bir değer verirseniz 100 olarak ele alınır. 1'den küçük bir değer verirseniz 1 olarak ele alınır. Herhangi bir hata döndürülmez.

Evet. Breakout room kayıtları dahildir ve isBreakout alanının true olarak ayarlanmış olmasıyla tanımlanabilir. Ayrıca üst meeting ID ve breakout sıra numarası gibi ek alanlar da içerebilirler.