Bigbluebutton

مستندات API BigBlueButton به شما امکان می‌دهد تا با استفاده از API، جلسات و کلاس‌های BigBlueButton را به صورت برنامه‌نویسی مدیریت کنید. در اینجا، تمامی اطلاعات مورد نیاز برای کار با API BigBlueButton، از جمله ایجاد کلاس، مدیریت کلاس‌ها، ارتباط با API، اتمام کلاس، مدیریت زمان، دریافت اطلاعات کلاس، دریافت ویدیوهای ضبط شده و تنظیم کلیدهای API به تفصیل شرح داده شده است.

مستندات API BigBlueButton

1. تنظیم کلیدهای API و تنظیمات اولیه

تنظیم کلیدهای API

برای استفاده از API BigBlueButton، نیاز به کلید اشتراکی (Shared Secret) دارید که در فایل پیکربندی سرور BigBlueButton تنظیم می‌شود.

فایل پیکربندی (bbb-web.properties):

  • مسیر فایل: /etc/bigbluebutton/bbb-web.properties
  • کلید اشتراکی (bbb-secret) در این فایل تعریف شده است.

با دستور زیر هم میتوانید کلید را پیدا کنید.

sudo bbb-conf --secret
bigbluebutton.web.api.secret=YOUR_BBB_SECRET

2. ایجاد کلاس (جلسه)

برای ایجاد یک جلسه جدید، از تابع create استفاده می‌کنید. این تابع نیاز به پارامترهای زیر دارد:

  • name: نام جلسه
  • meetingID: شناسه منحصر به فرد جلسه
  • moderatorPW: گذرواژه میزبان
  • attendeePW: گذرواژه شرکت‌کنندگان

مثال درخواست API:

GET https://your-bbb-domain.com/bigbluebutton/api/create
    ?name=Test%20Meeting
    &meetingID=test-meeting
    &moderatorPW=moderator123
    &attendeePW=attendee123
    &checksum=CHECKSUM

تولید Checksum:

Checksum باید با استفاده از الگوریتم SHA-1 تولید شود. فرمت تولید Checksum به صورت زیر است:

$secret = "YOUR_BBB_SECRET";
$name = "Test Meeting";
$meetingID = "test-meeting";
$moderatorPW = "moderator123";
$attendeePW = "attendee123";

$checksum = sha1("create{$secret}name={$name}&meetingID={$meetingID}&moderatorPW={$moderatorPW}&attendeePW={$attendeePW}");

PHP Example:

<?php

function createMeeting($meetingID, $name, $moderatorPW, $attendeePW)
{
    $bbb_url = "https://your-bbb-domain.com/bigbluebutton/api/";
    $bbb_secret = "YOUR_BBB_SECRET";

    $checksum = sha1("create{$bbb_secret}name={$name}&meetingID={$meetingID}&moderatorPW={$moderatorPW}&attendeePW={$attendeePW}");
    $api_url = "{$bbb_url}create?name={$name}&meetingID={$meetingID}&moderatorPW={$moderatorPW}&attendeePW={$attendeePW}&checksum={$checksum}";

    $response = file_get_contents($api_url);
    return $response;
}
?>

3. مدیریت کلاس‌ها

اطلاعات جلسه

برای دریافت اطلاعات یک جلسه، از تابع getMeetingInfo استفاده می‌کنید. پارامتر مورد نیاز:

  • meetingID: شناسه جلسه

مثال درخواست API:

GET https://your-bbb-domain.com/bigbluebutton/api/getMeetingInfo
    ?meetingID=test-meeting
    &checksum=CHECKSUM

تولید Checksum:

$checksum = sha1("getMeetingInfo{$secret}meetingID={$meetingID}");

PHP Example:

<?php

function getMeetingInfo($meetingID)
{
    $bbb_url = "https://your-bbb-domain.com/bigbluebutton/api/";
    $bbb_secret = "YOUR_BBB_SECRET";

    $checksum = sha1("getMeetingInfo{$bbb_secret}meetingID={$meetingID}");
    $api_url = "{$bbb_url}getMeetingInfo?meetingID={$meetingID}&checksum={$checksum}";

    $response = file_get_contents($api_url);
    return $response;
}
?>

 

پایان جلسه

برای پایان دادن به یک جلسه، از تابع end استفاده می‌کنید.

مثال درخواست API:

GET https://your-bbb-domain.com/bigbluebutton/api/end
    ?meetingID=test-meeting
    &checksum=CHECKSUM

تولید Checksum:

$checksum = sha1("end{$secret}meetingID={$meetingID}");

PHP Example:

<?php

function endMeeting($meetingID)
{
    $bbb_url = "https://your-bbb-domain.com/bigbluebutton/api/";
    $bbb_secret = "YOUR_BBB_SECRET";

    $checksum = sha1("end{$bbb_secret}meetingID={$meetingID}");
    $api_url = "{$bbb_url}end?meetingID={$meetingID}&checksum={$checksum}";

    $response = file_get_contents($api_url);
    return $response;
}
?>

4. مدیریت زمان جلسه

BigBlueButton به طور مستقیم پارامترهای زمان را در API نمی‌پذیرد، اما شما می‌توانید زمان شروع و پایان جلسه را هنگام ایجاد جلسه تعیین کنید و با استفاده از سیستم‌های زمان‌بندی خارجی، زمان‌ها را مدیریت کنید.

5. دریافت ویدیوهای ضبط شده

برای دریافت فهرست ویدیوهای ضبط شده، از تابع getRecordings استفاده کنید.

مثال درخواست API:

GET https://your-bbb-domain.com/bigbluebutton/api/getRecordings
    ?meetingID=test-meeting
    &checksum=CHECKSUM

تولید Checksum:

$checksum = sha1("getRecordings{$secret}meetingID={$meetingID}");

PHP Example:

<?php

function getRecordings($meetingID)
{
    $bbb_url = "https://your-bbb-domain.com/bigbluebutton/api/";
    $bbb_secret = "YOUR_BBB_SECRET";

    $checksum = sha1("getRecordings{$bbb_secret}meetingID={$meetingID}");
    $api_url = "{$bbb_url}getRecordings?meetingID={$meetingID}&checksum={$checksum}";

    $response = file_get_contents($api_url);
    return $response;
}
?>

6. مدیریت کاربران

برای مدیریت کاربران، شما باید از API های BigBlueButton برای افزودن و حذف کاربران در جلسات استفاده کنید. BigBlueButton امکانات خاصی برای مدیریت کاربران از طریق API ارائه می‌دهد، و شما باید از توابع create, getMeetingInfo, و end برای انجام این کار استفاده کنید.

منابع و مستندات

برای اطلاعات بیشتر درباره API BigBlueButton و نحوه استفاده از آن، به مستندات زیر مراجعه کنید