yaangvu / bbb-api-php
此包已被 弃用 并不再维护。作者建议使用 yaangvu-bbb-api-php 包。
由 YaangVu 更新的 BigBlueButton PHP API 库
1.0.3
2017-10-20 13:23 UTC
Requires
- php: >=5.4
- ext-curl: *
Requires (Dev)
- composer/composer: 1.0.*@dev
- friendsofphp/php-cs-fixer: ~1.10
- fzaninotto/faker: ~1.5.0
- phpunit/phpunit: 4.1.*
- satooshi/php-coveralls: 1.*
- squizlabs/php_codesniffer: 2.*
This package is auto-updated.
Last update: 2021-04-18 12:35:26 UTC
README
BigBlueButton API for PHP
官方且易于使用的 BigBlueButton API for PHP,使得开发者能够轻松使用适用于 PHP 5.4+ 的 BigBlueButton API。
要求
- PHP 5.4 或更高版本。
- 已安装 Curl 库。
BigBlueButton API for PHP 也经过测试,能够与 HHVM 一起工作,并且完全兼容 PHP 7.1。
安装
bigbluebutton-api-php 可以通过 Composer CLI 安装
composer require yaangvu/bbb-api-php:1.0.0
或者通过编辑 Composer.json
{ "require": { "yaangvu/bbb-api-php": "1.0.0" } }
使用
您应该在您的服务器中定义环境变量 BBB_SECURITY_SALT
和 BBB_SERVER_BASE_URL
。*如果您使用 Laravel,您可以在 .env 中添加它
之后,您将能够调用您服务器的 BigBlueButton API。创建会议的简单用法示例如下
use BigBlueButton/BigBlueButton; $bbb = new BigBlueButton(); $createMeetingParams = new CreateMeetingParameters('bbb-meeting-uid-65', 'BigBlueButton API Meeting'); $response = $bbb->createMeeting($createMeetingParams); echo "Created Meeting with ID: " . $response->getMeetingId();
示例
# 获取会议
use BigBlueButton\BigBlueButton; $bbb = new BigBlueButton(); $response = $bbb->getMeetings(); if ($response->getReturnCode() == 'SUCCESS') { foreach ($response->getRawXml()->meetings->meeting as $meeting) { // process all meeting } }
# 创建会议
use BigBlueButton\BigBlueButton; use BigBlueButton\Parameters\CreateMeetingParameters; $bbb = new BigBlueButton(); $createMeetingParams = new CreateMeetingParameters($meetingID, $meetingName); $createMeetingParams->setAttendeePassword($attendee_password); $createMeetingParams->setModeratorPassword($moderator_password); $createMeetingParams->setDuration($duration); $createMeetingParams->setLogoutUrl($urlLogout); if ($isRecordingTrue) { $createMeetingParams->setRecord(true); $createMeetingParams->setAllowStartStopRecording(true); $createMeetingParams->setAutoStartRecording(true); } $response = $bbb->createMeeting($createMeetingParams); if ($response->getReturnCode() == 'FAILED') { return 'Can\'t create room! please contact our administrator.'; } else { // process after room created }
# 加入会议
use BigBlueButton\BigBlueButton; use BigBlueButton\Parameters\JoinMeetingParameters; $bbb = new BigBlueButton(); $joinMeetingParams = new JoinMeetingParameters($meetingID, $name, $password); // $moderator_password for moderator $joinMeetingParams->setRedirect(true); $url = $bbb->getJoinMeetingURL($joinMeetingParams); // header('Location:' . $url);
# 关闭会议
use BigBlueButton\BigBlueButton; use BigBlueButton\Parameters\EndMeetingParameters; $bbb = new BigBlueButton(); $endMeetingParams = new EndMeetingParameters($meetingID, $moderator_password); $response = $bbb->endMeeting($endMeetingParams);
# 获取会议信息
use BigBlueButton\BigBlueButton; use BigBlueButton\Parameters\GetMeetingInfoParameters; $bbb = new BigBlueButton(); $getMeetingInfoParams = new GetMeetingInfoParameters($meetingID, '', $moderator_password); $response = $bbb->getMeetingInfo($getMeetingInfoParams); if ($response->getReturnCode() == 'FAILED') { // meeting not found or already closed } else { // process $response->getRawXml(); }
# 获取录音
use BigBlueButton\BigBlueButton; use BigBlueButton\Parameters\GetRecordingsParameters; $recordingParams = new GetRecordingsParameters(); $bbb = new BigBlueButton(); $response = $bbb->getRecordings($recordingParams); if ($response->getReturnCode() == 'SUCCESS') { foreach ($response->getRawXml()->recordings->recording as $recording) { // process all recording } }
请注意,BigBlueButton 需要几分钟的时间来处理录音,直到其可用。
您可以在 bbb-record --watch
中检查
# 删除录音
use BigBlueButton\BigBlueButton; use BigBlueButton\Parameters\DeleteRecordingsParameters; $bbb = new BigBlueButton(); $deleteRecordingsParams= new DeleteRecordingsParameters($recordingID); // get from "Get Recordings" $response = $bbb->deleteRecordings($deleteRecordingsParams); if ($response->getReturnCode() == 'SUCCESS') { // recording deleted } else { // something wrong }
提交错误和功能请求
错误和功能请求在 GitHub 上跟踪。
贡献指南
代码风格
请确保通过运行 PHPCS-Fixer 应用代码风格配置。
./vendor/bin/php-cs-fixer fix
运行测试
对于每个实现的功能,添加单元测试,并通过运行以下命令检查所有测试是否为绿色。
./vendor/bin/phpunit