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