insertDocument – Sunum Ekle
insertDocument uç noktası, mevcut sunucuyu kesintiye uğratmadan, hâlihazırda çalışmakta olan bir BigBlueButton toplantısına bir veya daha fazla sunum yüklemenize olanak tanır. Belgeler arka planda işlenir ve sunucunun istediği zaman geçiş yapabileceği ek sunumlar olarak kullanılabilir hâle gelir.
Bu uç nokta resmi BigBlueButton API belgelerinde yalnızca sınırlı ölçüde belgelenmiştir. Hata kodları, dosya boyutu sınırları ve tam yanıt XML ile ilgili ayrıntılar resmi olarak belirtilmemiştir. undocumented
Uç Nokta
POST https://api-guide.bbbserver.com/bigbluebutton/api/insertDocument?meetingID=replace-with-meeting-id&checksum=replace-with-checksum
Content-Type: application/xml Bu uç nokta, POST gövdesine sahip bir XML isteği gerektirir. Belge verileri URL parametreleri olarak değil, istek gövdesinde gönderilir.
URL Parametreleri
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
meetingID | String | Evet | — | Belgeyi alması gereken çalışan toplantının toplantı tanımlayıcısı. |
XML Gövdesi — Belge Öznitelikleri
İstek gövdesi, bir veya daha fazla XML öğesini saran bir <module name="presentation"> öğesi içeren bir <document> yapısı içermelidir. Her belge, URL ile veya satır içi Base64 içeriği olarak yüklenebilir.
| Öznitelik | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
url | String | Hayır | — | Sunum dosyasını gösteren URL. URL tabanlı yüklemelerde kullanılır. Sunucu dosyayı bu URL'den alır. |
filename | String | Hayır | — | URL tabanlı yüklemeler için dosya adı. URL bir dosya uzantısı içermediğinde dosya türünün algılanmasına yardımcı olur. |
name | String | Hayır | — | Base64 satır içi yüklemeleri için dosya adı. Bu öznitelik kullanıldığında, öğe metni Base64 ile kodlanmış dosya içeriğini içermelidir. |
current | Boolean | Hayır | false | true olarak ayarlandığında, bu sunum yüklemeden hemen sonra geçerli sunum olarak etkinleştirilir. |
downloadable | Boolean | Hayır | false | true olarak ayarlandığında, katılımcıların sunum dosyasını indirmesine izin verilir. |
removable | Boolean | Hayır | true | true olarak ayarlandığında, sunum yapan kişinin sunumu toplantıdan kaldırmasına izin verilir. |
Örnek İstek — URL Tabanlı Yükleme
curl --request POST \
--url "https://api-guide.bbbserver.com/bigbluebutton/api/insertDocument?meetingID=replace-with-meeting-id&checksum=replace-with-checksum" \
--header "Content-Type: application/xml" \
--data '<?xml version="1.0" encoding="UTF-8"?>
<modules>
<module name="presentation">
<document url="https://api-guide.bbbserver.com/files/slides.pdf" filename="slides.pdf"
downloadable="true" removable="true" current="true"/>
</module>
</modules>' Örnek İstek — Base64 Satır İçi Yükleme
curl --request POST \
--url "https://api-guide.bbbserver.com/bigbluebutton/api/insertDocument?meetingID=replace-with-meeting-id&checksum=replace-with-checksum" \
--header "Content-Type: application/xml" \
--data '<?xml version="1.0" encoding="UTF-8"?>
<modules>
<module name="presentation">
<document name="inline-slides.pdf">
JVBERi0xLjQK... (Base64-encoded content)
</document>
</module>
</modules>' Örnek Yanıt
Başarılı bir çağrı aşağıdaki XML değerini döndürür:
<response>
<returncode>SUCCESS</returncode>
</response> Bir SUCCESS yanıtı, belgenin işlenmek üzere kabul edildiğini doğrular. Dosya dönüştürmenin başarıyla tamamlandığını garanti etmez. Dönüştürme hatalarının API yanıtı üzerinden geri bildirilip bildirilmediği resmi olarak belgelenmemiştir. undocumented
create Sunum Yükleme ile Karşılaştırma
Sunumları toplantı oluşturulurken create uç noktasıyla da yükleyebilirsiniz. Aşağıdaki tablo iki yaklaşım arasındaki farkları vurgular:
| Yön | create | insertDocument |
|---|---|---|
| Zamanlama | Toplantı başlamadan önce | Toplantı çalışırken |
| Kesinti | Yok (ilk slayt katılım sırasında yüklenir) | Yok (arka plan yükleme) |
current öznitelik | Desteklenir | Desteklenir |
| Birden fazla belge | Desteklenir | Desteklenir |
İpuçları
Yeni sunumun hemen etkin hale gelmesini istiyorsanız, belge öğesinde current="true" ayarını yapın. Aksi takdirde sunucunun toplantı arayüzündeki sunum seçicisini kullanarak buna manuel olarak geçmesi gerekir.
- Normal sunum yüklemede desteklenen aynı dosya biçimleri burada da desteklenir (PDF, PPTX, DOCX, görseller vb.).
- Modül bloğu içine daha fazla belge öğesi ekleyerek tek bir istekte birden fazla belge ekleyebilirsiniz.
- URL tabanlı yüklemelerde, URL tanınabilir bir dosya uzantısı içermediğinde
filenameözniteliğini her zaman ayarlayın. Bu, BigBlueButton'nin doğru dosya türünü belirlemesine yardımcı olur. - Büyük dosyalar için, istek yükünü küçük tutmak amacıyla Base64 satır içi yükleme yerine URL tabanlı yükleme önerilir.
Kullanım Senaryoları
- Canlı oturum sırasında bir LMS veya içerik yönetim sisteminden slaytları dinamik olarak sunun.
- Toplantı başladıktan sonra toplantıya ek materyal ekleyin.
- Gündemleri, toplantı notlarını veya raporları devam eden toplantılara ekleyen otomatik botlar oluşturun.
- Dış sistemlerin, sunucunun toplantıdan ayrılmasını gerektirmeden güncellenmiş içerik göndermesine izin verin.
Sıkça Sorulan Sorular
insertDocument uç noktası BigBlueButton 2.5 ve sonraki sürümlerde kullanılabilir. 2.4 veya daha eski sürümler gibi eski sürümlerde kullanılamaz.removable özniteliği true olarak ayarlandıysa (varsayılan budur). Sunum yapan kişi, toplantı arayüzü üzerinden sunumu kaldırabilir. Çalışan bir toplantıdan sunumu kaldırmak için özel bir API uç noktası yoktur.FAILED yanıtı döndürecektir. Belgeler yalnızca o anda çalışmakta olan toplantılara eklenebilir.meetingID değerini kullanarak bir grup odasını hedefleyebilirsiniz. Her grup odasının, getMeetings veya getMeetingInfo uç noktası aracılığıyla elde edilebilen kendine özgü bir toplantı tanımlayıcısı vardır.SUCCESS yanıtı yalnızca sunucunun belgeyi işlenmek üzere kabul ettiğini doğrular. Dönüştürmenin başarılı olup olmadığı API yanıtında güvenilir şekilde bildirilmez. Bu davranış resmi olarak belgelenmemiştir.