join – Toplantıya Katıl
join uç noktası, bir kullanıcının çalışmakta olan bir BigBlueButton toplantısına girmesine olanak tanıyan bir URL üretir. Varsayılan olarak tarayıcı doğrudan BBB istemcisine yönlendirilir. redirect, false olarak ayarlandığında bunun yerine katılma URL'si ve oturum belirteci içeren bir XML yanıtı döndürülür.
Uç Nokta
GET https://api-guide.bbbserver.com/bigbluebutton/api/join?<parameters>&checksum=replace-with-checksum join çağrısı, son kullanıcının tarayıcısında doğrudan çağrılan tek API uç noktasıdır (bir yönlendirme URL'si olarak). Diğer tüm API çağrıları sunucu tarafında yapılır.
Gerekli Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
meetingID | String | Gerekli. Katılınacak toplantının tanımlayıcısı. |
fullName | String | Gerekli. Kullanıcının toplantıda görünen adı. |
role | Enum | Gerekli. Kullanıcı rolü: MODERATOR veya VIEWER (büyük/küçük harfe duyarsız). BBB 3.0+ |
Kullanımdan Kaldırılmış Parametreler
| Parametre | Tür | Açıklama |
|---|---|---|
password | String | Kullanımdan kaldırıldı
BBB 3.0 sürümünden beri kullanımdan kaldırılmıştır. Parola aracılığıyla rol ataması (create içindeki attendeePW/moderatorPW). Yerine role kullanılır. |
İsteğe Bağlı Parametreler
| Parametre | Tür | Varsayılan | Açıklama |
|---|---|---|---|
createTime | Number (Long) | — | create yanıtındaki zaman damgası. join URL'si oluşturulduktan sonra yeniden oluşturulmuş bir toplantıya katılmayı engeller. |
userID | String | — | Uygulamaya özgü kullanıcı kimliği. getMeetingInfo ve webhooks içinde döndürülür. |
avatarURL | String | — | Kullanıcı için bir avatar görselinin URL'si. |
webcamBackgroundURL | String | — | Özel bir web kamerası arka plan görselinin URL'si. |
firstName | String | — | Ad (görüntüleme için değil, sıralama için kullanılır). |
lastName | String | — | Soyad (görüntüleme için değil, sıralama için kullanılır). |
redirect | Boolean | true | false olarak ayarlandığında, tarayıcı yönlendirmesi yerine bir XML yanıtı döndürülür. |
errorRedirectUrl | String | — | Hatalarda yönlendirilecek alternatif URL (varsayılan hata sayfası yerine). |
logoutURL | String | — | Çıkıştan sonra yönlendirilecek URL. create içindeki değeri geçersiz kılar. |
guest | Boolean | false | Kullanıcıyı misafir olarak işaretler. Toplantının guestPolicy ayarına tabidir. |
bot | Boolean | false | Kullanıcıyı otomatik bir aracı olarak işaretler. |
excludeFromDashboard | Boolean | false | Kullanıcıyı öğrenme analitiği panosunun dışında tutar. |
enforceLayout | Enum | — | Bu kullanıcı için belirli bir düzeni zorunlu kılar. Olası değerler: UNIFIED_LAYOUT, CUSTOM_LAYOUT, SMART_LAYOUT, PRESENTATION_FOCUS, VIDEO_FOCUS, CAMERAS_ONLY, PARTICIPANTS_AND_CHAT_ONLY, PRESENTATION_ONLY, MEDIA_ONLY. ⚠ Belgelenmemiş Resmi belgeler bu değeri yanlışlıkla PARTICIPANTS_CHAT_ONLY olarak listeler (_AND_ olmadan). |
auth | Boolean | (koşullu) | ⚠ Belgelenmemiş
Kullanıcıyı kimliği doğrulanmış olarak işaretler. Koşullu mantık: guest belirtilmemişse, auth varsayılan olarak true olur. guest=true belirtilirse, auth açıkça ayarlanmadıkça varsayılan olarak false olur. |
defaultLayout | String | — | ⚠ Belgelenmemiş
Bu kullanıcı için varsayılan düzen. create çağrısındaki meetingLayout ile aynı değerlere sahiptir. |
sessionName | String | — | ⚠ Belgelenmemiş
Özel oturum adı. Yalnızca existingUserID ile birlikte etkilidir. |
existingUserID | String | — | ⚠ Belgelenmemiş Mevcut bir oturumla yeniden katılmak veya yeniden bağlanmak için dahili kullanıcı kimliği. |
replaceSessionToken | String | — | ⚠ Belgelenmemiş
Değiştirilecek oturumun belirteci (existingUserID ile kullanıldığında). |
Userdata Parametreleri
join çağrılırken özel verileri userdata- parametreleri olarak iletebilirsiniz. Bunlar istemcide kullanılabilir hale getirilir ve eklenti davranışını veya istemci ayarlarını kullanıcı bazında kontrol edebilir.
Belirli userdata anahtarları, sunucu tarafında bir engelleme listesi (getJoinUrlUserdataBlocklist) aracılığıyla engellenebilir.
Örnek İstek
GET https://api-guide.bbbserver.com/bigbluebutton/api/join?meetingID=replace-with-meeting-id&fullName=John+Doe&role=VIEWER&redirect=false&checksum=replace-with-checksum Örnek Yanıt (redirect=false)
<response>
<returncode>SUCCESS</returncode>
<messageKey>successfullyJoined</messageKey>
<message>You have joined successfully.</message>
<meeting_id>replace-with-internal-meeting-id</meeting_id>
<user_id>replace-with-user-id</user_id>
<auth_token>replace-with-auth-token</auth_token>
<session_token>replace-with-session-token</session_token>
<url>https://api-guide.bbbserver.com/client/BigBlueButton.html?sessionToken=replace-with-session-token</url>
</response> Hata Yanıtları
| messageKey | Anlamı |
|---|---|
invalidMeetingIdentifier | Toplantı mevcut değil. |
meetingForciblyEnded | Toplantı zorla sonlandırıldı. |
maxParticipantsReached | Katılımcı sınırına ulaşıldı. |
guestDeniedAccess | Misafirin erişimi reddedildi. |
invalidPassword | Parola geçersiz. |
checksumError | checksum geçersiz. |
mismatchCreateTimeParam | createTime toplantıyla eşleşmiyor. |
userNotFound | Bu kimlikle etkin bir kullanıcı bulunamadı (existingUserID kullanılırken). |
Katılma URL Doğrulaması için createTime Kullanımı
createTime parametresi, eski join URL'lerine karşı bir güvence görevi görür:
Bir toplantı oluşturulur ve createTime: 1715261728123 döndürülür.
Join URL, createTime=1715261728123 ile oluşturulur.
Toplantı sona erer ve yeni bir createTime ile yeniden oluşturulur.
Önceki createTime değerini içeren eski join URL reddedilir.
Bu, eski davet bağlantılarına sahip kullanıcıların aynı meetingID'yi yeniden kullanan yeni bir toplantıya girmesini önler.
Güvenlik İpuçları
Katılma URL'lerini hesaplamak için shared secret değerini istemci tarafında asla açığa çıkarmayın. Katılma URL'lerini her zaman sunucu tarafında oluşturun ve istemciye iletin.
- Oluşturulan katılma URL'si checksum içerir ve yalnızca bir kez kullanılmalıdır.
- Join URL'leri sunucu tarafında oluşturulmalı ve istemciye iletilmelidir.
- Hassas toplantılar için,
guest=trueile birlikteguestPolicy=ASK_MODERATORkullanın.
password değerinden role değerine geçiş, BBB 3.0 içindeki en önemli geriye dönük uyumsuz değişikliklerden biridir. Entegrasyonunuzu buna göre güncellediğinizden emin olun.
Sıkça Sorulan Sorular
role parametresi (MODERATOR veya VIEWER), önceki sürümlerde kullanılan parola tabanlı rol atamasının yerini alır. password parametresi kullanımdan kaldırılmıştır ve yeni entegrasyonlarda artık kullanılmamalıdır.existingUserID parametresini kullanın. Eski oturumun yerine geçmesi için replaceSessionToken da iletebilirsiniz. Bu parametrelerin belgelenmemiş olduğunu ve haber verilmeksizin değişebileceğini unutmayın.guest, true olarak ayarlandığında kullanıcı misafir olarak işaretlenir ve toplantı oluşturulurken tanımlanan guestPolicy politikasına tabi olur. Örneğin, ASK_MODERATOR ile kullanıcı içeri girmeden önce moderatörün misafiri onaylaması gerekir.userdata-= ), özel verileri kullanıcı bazında toplantı istemcisine iletmenize olanak tanır. Bunlar istemci davranışını yapılandırmak, eklentilere bilgi aktarmak veya kullanıcı deneyimini özelleştirmek için kullanılabilir.createTime değerinin şu anda çalışan toplantının createTime değeriyle eşleşmemesi durumunda oluşur. Bu genellikle bir toplantı sonlandırılıp aynı meetingID ile yeniden oluşturulduğunda, ancak katılma URL'sinin hâlâ eski createTime değerini içermesi durumunda olur.