Bölüm 9 GET POST

getMeetings – Tüm Toplantıları Listele

getMeetings uç noktası, katılımcı ayrıntıları ve meta veriler dahil olmak üzere BigBlueButton sunucusunda şu anda mevcut olan tüm toplantıların bir listesini döndürür. Yönetici panoları oluşturmak, sunucu yükünü izlemek ve altyapınız genelinde kapasite planlaması yapmak için birincil araçtır.

Uç Nokta

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

Bu uç nokta, checksum dışında ek parametre gerektirmez. Sunucudaki tüm toplantıları tek bir yanıtta döndürür.

Parametreler

Parametre Tür Gerekli Varsayılan Açıklama
checksum String Evet API çağrı adından ve shared secret değerinden hesaplanan güvenlik checksum değeri.

Örnek İstek

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

Örnek Yanıt

Bulunan Toplantılar

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

Toplantı Bulunamadı

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

Toplantı Başına Yanıt Alanları

Alan Tür Açıklama
meetingName String Toplantının görünen adı.
meetingID String Oluşturma sırasında belirtilen harici toplantı kimliği.
internalMeetingID String Sunucu tarafından oluşturulan dahili benzersiz kimlik.
createTime Number Unix epoch'tan bu yana milisaniye cinsinden oluşturma zaman damgası.
createDate String İnsan tarafından okunabilir oluşturma tarihi dizesi.
voiceBridge String Sesli konferans için voice bridge numarası.
dialNumber String Toplantı için telefonla katılım numarası.
attendeePW String Katılımcı parolası. Yalnızca ayarlanmışsa bulunur. BBB 3.0'dan beri kullanımdan kaldırılmıştır.
moderatorPW String Moderatör parolası. Yalnızca ayarlanmışsa bulunur. BBB 3.0'dan beri kullanımdan kaldırılmıştır.
running Boolean Toplantının şu anda aktif olup olmadığı.
duration Number Dakika cinsinden azami süre. 0 sınırsız anlamına gelir.
hasUserJoined Boolean Toplantıya en az bir kullanıcının katılıp katılmadığı.
recording Boolean Bu toplantı için kaydın etkin olup olmadığı.
hasBeenForciblyEnded Boolean Toplantının API üzerinden zorla sonlandırılıp sonlandırılmadığı.
startTime Number Unix epoch'tan bu yana milisaniye cinsinden başlangıç zaman damgası.
endTime Number Bitiş zaman damgası. Toplantı hâlâ sürüyorsa 0.
participantCount Number Toplantıdaki mevcut katılımcı sayısı.
listenerCount Number Yalnızca dinleme modundaki katılımcı sayısı.
voiceParticipantCount Number Aktif sesi olan katılımcı sayısı.
videoCount Number Aktif web kamerası sayısı.
maxUsers Number İzin verilen azami katılımcı sayısı. 0 sınırsız anlamına gelir.
moderatorCount Number Şu anda toplantıda bulunan moderatör sayısı.
attendees List userID, fullName, role ve medya durumu gibi ayrıntılarla tüm katılımcıların listesi.
metadata Object create çağrısı sırasında iletilen tüm özel meta veri parametreleri.
isBreakout Boolean Bunun bir grup odası olup olmadığı.
parentMeetingID String Ana toplantının toplantı kimliği. Yalnızca grup odaları için bulunur.
sequence Number Grup odasının sıra numarası. Yalnızca grup odaları için bulunur.
freeJoin Boolean Katılımcıların bu grup odasını serbestçe seçip seçemeyeceği. Yalnızca grup odaları için bulunur.
breakoutRooms List Grup odası kimliklerinin listesi. Yalnızca toplantının aktif grup odaları olduğunda bulunur.

Katılımcı Ayrıntıları

attendees listesindeki her giriş aşağıdaki alanları içerir:

Alan Tür Açıklama
userID String Benzersiz dahili kullanıcı tanımlayıcısı.
fullName String Katılımcının görünen adı.
role String Katılımcının rolü: MODERATOR veya VIEWER.
isPresenter Boolean Katılımcının şu anda sunum yapan kişi olup olmadığı.
isListeningOnly Boolean Katılımcının yalnızca dinleme modunda katılıp katılmadığı.
hasJoinedVoice Boolean Katılımcının ses konferansına katılıp katılmadığı.
hasVideo Boolean Katılımcının aktif bir web kamerasına sahip olup olmadığı.
clientType String Katılımcı tarafından kullanılan istemci türü (ör. HTML5).

getMeetings tarafından döndürülen katılımcı listesi, toplantıya şimdiye kadar katılmış tüm kullanıcıları içerir; buna daha önce ayrılmış olanlar da dahildir. Bu, yalnızca şu anda bağlı kullanıcıları döndüren getMeetingInfo'ten farklıdır. Aktif katılımcı sayılarını hesaplarken bunu göz önünde bulundurun.

Yaygın Kullanım Senaryoları

  • Yönetici paneli — çalışan tüm toplantıların ve katılımcı sayılarının genel görünümünü gösterir.
  • Kapasite planlaması — sunucudaki tüm toplantılardaki toplam aktif katılımcı sayısını hesaplar.
  • İzleme — moderatörü olmayan veya sorun yaşayan toplantıları belirler.
  • Otomatik temizleme — uzun süredir var olan ancak hiç katılımcısı olmayan toplantıları bulur.

İpuçları ve En İyi Uygulamalar

getMeetings sunucudaki tüm toplantıları döndürdüğünden (yalnızca çalışanları değil), yalnızca etkin toplantılara ihtiyacınız varsa sonuçları running alanına göre filtreleyin.

Yanıt; katılımcı adları, kullanıcı kimlikleri ve parolalar gibi hassas bilgiler içerir. Bu uç noktayı her zaman yalnızca sunucu tarafı kodundan çağırın. İstemci tarafı uygulamalara veya son kullanıcılara asla açığa çıkarmayın.

Bu uç nokta için sayfalama desteği yoktur. Eşzamanlı çok sayıda toplantının olduğu sunucularda yanıt çok büyüyebilir ve performansı etkileyebilir. Sık sorgulama yapıyorsanız sonuçları önbelleğe almayı düşünün.

Sıkça Sorulan Sorular

Hayır. Sunucuda şu anda mevcut olan tüm toplantıları, henüz katılımcısı olmayan ancak oluşturulmuş toplantılar dahil, döndürür. Yalnızca etkin toplantılara ihtiyacınız varsa running alanına göre filtreleyin.

getMeetings sunucudaki tüm toplantıların bir özetini döndürürken, getMeetingInfo tek bir belirli toplantı hakkında ayrıntılı bilgi döndürür. Ayrıca getMeetings içindeki katılımcı listesi şimdiye kadar katılmış tüm kullanıcıları içerir (ayrılanlar dahil), oysa getMeetingInfo yalnızca şu anda bağlı kullanıcıları listeler.

Hayır. Bu alanlar yalnızca toplantı oluşturulurken ayarlanmışlarsa ve boş değillerse yanıta dahil edilir. BigBlueButton 3.0'dan beri bu alanlar kullanımdan kaldırılmıştır ve çoğu zaman mevcut değildir.

isBreakout alanını kontrol edin. true ise toplantı bir grup odasıdır ve parentMeetingID, sequence ve freeJoin gibi ek alanlar içerir. Ana toplantı, grup odalarının kimliklerini içeren bir breakoutRooms listesine sahip olacaktır.

Hayır. BigBlueButton API, getMeetings için sayfalamayı desteklemez. Tüm toplantılar tek bir yanıtta döndürülür. Çok büyük sayıda toplantıya sahip sunucular için, sunucu yükünü azaltmak amacıyla önbellekleme uygulamayı veya uç noktayı daha seyrek çağırmayı değerlendirin.