Bölüm 10 GET POST

getMeetingInfo – Toplantı Ayrıntılarını Al

getMeetingInfo uç noktası, tek bir BigBlueButton toplantısı hakkında mevcut katılımcıları, meta verileri, yapılandırma ayarları ve kayıt durumu dahil ayrıntılı bilgi döndürür. Belirli bir toplantıyı gerçek zamanlı olarak incelemek için kullanın.

Uç Nokta

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

Bu uç nokta, BigBlueButton sunucunuzun shared secret değerinden hesaplanan geçerli bir checksum gerektirir. Hem GET hem de POST istekleri desteklenir.

Parametreler

Parametre Tür Gerekli Açıklama
meetingID String Evet Sorgulanacak toplantının toplantı tanımlayıcısı. Bu, toplantı oluşturulurken belirttiğiniz ID'dir.

Yanıt Alanları

Başarılı bir yanıt, toplantıyı ve mevcut durumunu açıklayan aşağıdaki alanları içerir:

Alan Tür Açıklama
returncode String Çağrının başarılı olup olmadığını belirtir. SUCCESS veya FAILED döndürür.
meetingName String Toplantının insan tarafından okunabilir adı.
meetingID String Oluşturma sırasında belirtilen harici toplantı tanımlayıcısı.
internalMeetingID String BigBlueButton tarafından oluşturulan dahili benzersiz tanımlayıcı.
createTime Long Toplantının oluşturulduğu zaman damgası (epoch'tan bu yana milisaniye cinsinden).
createDate String Toplantının oluşturulduğu insan tarafından okunabilir tarih ve saat.
voiceBridge String Telefonla bağlanma için ses köprüsü numarası.
dialNumber String Yapılandırılmışsa, telefonla erişim için aranacak numara.
attendeePW String deprecated Katılımcı parolası. Geriye dönük uyumluluk için dahil edilir ancak BigBlueButton 2.5'ten beri kullanımdan kaldırılmıştır.
moderatorPW String deprecated Moderatör parolası. Geriye dönük uyumluluk için dahil edilir ancak BigBlueButton 2.5'ten beri kullanımdan kaldırılmıştır.
running Boolean Toplantının şu anda çalışıp çalışmadığı (true) veya çalışmadığı (false).
duration Integer Toplantının dakika cinsinden azami süresi. 0 değeri 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 Toplantının kaydedilip kaydedilmediği.
hasBeenForciblyEnded Boolean Toplantının bir API end çağrısıyla sonlandırılıp sonlandırılmadığı.
startTime Long Toplantının başladığı zaman damgası (milisaniye cinsinden).
endTime Long Toplantının sona erdiği zaman damgası (milisaniye cinsinden). Hâlâ çalışıyorsa 0 döndürür.
participantCount Integer Toplantıda şu anda bulunan toplam katılımcı sayısı.
listenerCount Integer Yalnızca dinleme modundaki katılımcı sayısı.
voiceParticipantCount Integer Ses kanalına katılmış katılımcı sayısı.
videoCount Integer Web kamerasını paylaşan katılımcı sayısı.
maxUsers Integer İzin verilen azami kullanıcı sayısı. 0 değeri sınırsız anlamına gelir.
moderatorCount Integer Toplantıda şu anda bulunan moderatör sayısı.
attendees XML Container Bağlı her katılımcı hakkında ayrıntılar içeren attendee öğelerinin bir listesini içerir (aşağıdaki Attendee Alanları bölümüne bakın).
metadata XML Container Toplantı oluşturulurken iletilen özel metadata anahtar-değer çiftlerini içerir.
isBreakout Boolean Toplantının bir grup odası olup olmadığı.
parentMeetingID String Ana toplantının ID'si. Yalnızca grup odaları için bulunur.
sequence Integer Grup odasının sıra numarası. Yalnızca grup odaları için bulunur.
freeJoin Boolean Katılımcıların hangi grup odasına katılacaklarını serbestçe seçip seçemeyeceği. Yalnızca grup odaları için bulunur.
breakoutRooms XML Container Bu toplantıyla ilişkili grup odası kimliklerini listeler. Yalnızca grup odaları oluşturulduğunda bulunur.

Katılımcı Alanları

attendee içindeki her attendees öğesi aşağıdaki alanları içerir:

Alan Tür Açıklama
userID String Dahili BigBlueButton kullanıcı kimliği, genellikle w_xxxxxxxx biçimindedir.
fullName String Katılımcının görünen adı.
role Enum 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 olup olmadığı.
hasJoinedVoice Boolean Katılımcının ses kanalına mikrofonla bağlanıp bağlanmadığı.
hasVideo Boolean Katılımcının web kamerasını paylaşıp paylaşmadığı.
clientType String Katılımcının kullandığı istemci türü. Genellikle HTML5.
customdata XML Container Alt XML öğeleri olarak özel anahtar-değer verilerini içerir. Yalnızca kullanıcı için join sırasında özel veri ayarlanmışsa bulunur.

Örnek İstek

GET https://api-guide.bbbserver.com/bigbluebutton/api/getMeetingInfo?meetingID=replace-with-meeting-id&checksum=replace-with-checksum

Örnek Yanıt (Başarılı)

<response>
  <returncode>SUCCESS</returncode>
  <meetingName>Project Discussion</meetingName>
    <meetingID>replace-with-meeting-id</meetingID>
    <internalMeetingID>replace-with-internal-meeting-id</internalMeetingID>
  <createTime>1715261728123</createTime>
  <createDate>Thu May 09 13:35:28 UTC 2024</createDate>
  <voiceBridge>66052</voiceBridge>
  <dialNumber>613-555-1234</dialNumber>
    <attendeePW>replace-with-password</attendeePW>
    <moderatorPW>replace-with-password</moderatorPW>
  <running>true</running>
  <duration>0</duration>
  <hasUserJoined>true</hasUserJoined>
  <recording>true</recording>
  <hasBeenForciblyEnded>false</hasBeenForciblyEnded>
  <startTime>1715261728142</startTime>
  <endTime>0</endTime>
  <participantCount>3</participantCount>
  <listenerCount>1</listenerCount>
  <voiceParticipantCount>2</voiceParticipantCount>
  <videoCount>2</videoCount>
  <maxUsers>0</maxUsers>
  <moderatorCount>1</moderatorCount>
  <attendees>
    <attendee>
    <userID>replace-with-user-id</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>
    <bbb-origin>greenlight</bbb-origin>
    <bbb-origin-version>v3.1.0</bbb-origin-version>
    <endcallbackurl>https://api-guide.bbbserver.com/callbacks/meeting-ended</endcallbackurl>
  </metadata>
  <isBreakout>false</isBreakout>
</response>

Hata Yanıtı

Belirtilen toplantı kimliği mevcut değilse veya zaten sona ermişse, API bir FAILED yanıtı döndürür:

<response>
  <returncode>FAILED</returncode>
  <messageKey>notFound</messageKey>
  <message>We could not find a meeting with that meeting ID</message>
</response>

Bir notFound hatası, toplantının hiç oluşturulmadığı anlamına gelmez. Toplantı zaten sona ermiş ve sunucu belleğinden kaldırılmış olabilir. BigBlueButton toplantı verilerini yalnızca toplantı etkinken tutar.

getMeetingInfo ile getMeetings karşılaştırması

Yön getMeetings getMeetingInfo
Kapsam Sunucudaki tüm etkin toplantılar Belirli tek bir toplantı
Parametreler Gerekli değil meetingID gerekli
Katılımcı ayrıntıları Ayrılmış olanlar dahil tüm kullanıcılar Yalnızca şu anda bağlı kullanıcılar
Kullanım durumu Kontrol paneli ve izleme genel görünümü Belirli bir toplantının hedefli incelenmesi

Yaygın Kullanım Senaryoları

  • Katılım mantığı — misafirleri toplantıya yönlendirmeden önce bir moderatörün mevcut olup olmadığını kontrol edin.
  • Katılımcı listeleri — mevcut katılımcıları harici bir uygulamada veya lobi sayfasında görüntüleyin.
  • Kayıt durumu — toplantı için kaydın şu anda etkin olup olmadığını doğrulayın.
  • Hata ayıklama — sorun giderme amacıyla belirli bir toplantının ayrıntılı analizini yapın.
bbbserver.de üzerinde getMeetingInfo uç noktası tüm planlarda kullanılabilir. API kimlik bilgilerinizi sunucu yönetim panosunda bulabilirsiniz.

İpuçları

Canlı bir katılımcı listesi oluşturmak için getMeetingInfo'yu düzenli aralıklarla yoklayın. Kaç kullanıcının ses ve videoyla aktif olarak etkileşimde olduğunu belirlemek için voiceParticipantCount ve videoCount alanlarını birlikte kullanın.

Uygulamaya özgü verileri, örneğin kaynak sistem, geri çağrı URL'leri veya özel etiketler gibi değerleri, metadataBigBlueButton dahili yapısına müdahale etmeden iletmek ve geri almak için kapsayıcısını kullanın.

attendeePW ve moderatorPW alanları, BigBlueButton 2.5'ten beri kullanımdan kaldırılmıştır. Geriye dönük uyumluluk için hâlâ döndürülürler, ancak yeni entegrasyonlarda kimlik doğrulama mantığı için bunlara güvenmemelisiniz.

Sıkça Sorulan Sorular

FAILEDmessageKey "notFound" olan bir yanıtı alırsınız. BigBlueButton, toplantı sona erdiğinde toplantı verilerini bellekten kaldırır. Geçmiş toplantılar hakkında bilgiye erişmek için bunun yerine getRecordings uç noktasını kullanın.

Hayır. Katılımcı listesi yalnızca şu anda toplantıya bağlı olan katılımcıları içerir. Ayrılan kullanıcılar artık dahil edilmez. Buna karşılık, getMeetings belirli BigBlueButton sürümlerinde ayrılmış kullanıcıları içerebilir.

BigBlueButton tarafından doğrudan uygulanan katı bir hız sınırı yoktur, ancak sık yoklama yapmak (ör. her saniye) sunucuya gereksiz yük bindirebilir. Çoğu kullanım senaryosu için genellikle 5 ila 10 saniyelik bir yoklama aralığı yeterlidir.

Evet. meetingID ile getMeetingInfo çağrısı yapın. Yanıttaki returncode SUCCESS ise toplantı mevcuttur ve etkindir. FAILEDmessageKey "notFound" ile birlikte ise toplantı mevcut değildir veya zaten sona ermiştir.

parentMeetingID, sequence, freeJoin ve breakoutRooms gibi alanlar yalnızca toplantı bir grup odası olduğunda veya grup odaları içerdiğinde yanıtta görünür. Normal toplantılar için isBreakout false olur ve diğer grup odası alanları atlanır.

customdata kapsayıcısı, kullanıcının join API çağrısı ile toplantıya katılırken parametre olarak iletilen kullanıcıya özgü anahtar-değer çiftlerini içerir. Her anahtar bir XML alt öğesi olur. Özel veri sağlanmadıysa bu öğe bulunmayabilir.