mosai-co / meride-php-sdk
用于与Meride平台交互的库
1.0.0
2022-07-26 16:01 UTC
Requires
- php: ^7.2|^8.0
- ankitpokhrel/tus-php: ^2.2
Requires (Dev)
- phpunit/phpunit: ^9
README
Meride的通用PHP库,用于与Meride的API交互,使用Meride的编码器并提供网页功能。
包含的包有
- Api 用于与Meride的API通信
- Web 用于生成HTML代码(例如,集成嵌入)
- Storage 用于与存储交互
安装
composer require mosai-co/meride-php-sdk
它需要公共composer仓库
PHP的最小要求是版本7.2
开发安装
- 克隆仓库并进入项目文件夹
- 运行
composer install - 如果您不使用自动包含composerautoload的系统,请在您的页面中包含它(例如
include './vendor/autoload.php'),然后您就可以使用库了。
测试
- 在系统上创建MERIDE_URL环境,使用
export MERIDE_URL="{{URL}}",其中{{URL}}将是要测试的CMS(例如https://cms.meride.tv/yourclientid) - 在系统上创建MERIDE_AUTH_CODE环境,使用
export MERIDE_AUTH_CODE="{{AUTH_CODE}}",其中{{AUTH_CODE}}是调用API的授权代码 - 在系统上创建MERIDE_STORAGESERVICE_URL环境,使用
export MERIDE_STORAGESERVICE_URL="{{STORAGESERVICE_URL}}",其中{{STORAGESERVICE_URL}}是存储服务的地址(基础URL) - 在系统上创建MERIDE_AUTH_USER环境,使用
export MERIDE_AUTH_USER="{{AUTH_USER}}",其中{{AUTH_USER}}是所需的客户端ID - 在系统上创建MERIDE_VIDEO_ID环境,使用
export MERIDE_VIDEO_ID="{{VIDEO_ID}}",其中{{VIDEO_ID}}是待测试的所需视频ID(必须在测试平台上存在) - 创建MERIDE_STORAGE_PROTOCOL环境,指定存储URL的HTTP协议是http还是https
- 从项目的根目录启动
./testall.sh
文档生成
要生成内部文档,系统上需要phpdoc。
要查看项目文档,请在命令行中启动此命令,并通过浏览器访问docs/目录
phpdoc -d ./src/ -t ./docs
或启动脚本./generatedocs.sh
公开文档
要阅读公开文档,请访问Meride的文档页面
初始化
use Meride\Api; // substitute with the URL of your own CMS path define('MERIDE_URL', "https://cms.meride.tv/CLIENT_NAME"); // define which API version to use (default v2) define('MERIDE_VERSION', 'v2'); // define your access token, visible inside the CMS define('MERIDE_ACCESS_TOKEN', 'MERIDE_AUTH_CODE'); // instantiate an API object $merideApi = new Api(MERIDE_ACCESS_TOKEN, MERIDE_URL, MERIDE_VERSION);
GET请求(单个)
$video = $merideApi->get('video', 1234); echo $video->title;
GET请求(集合)
$videoCollection = $merideApi->all('video'); // numbers of records in the collection $videoCount = $videoCollection->count(); // iterating on the records foreach($videoCollection as $video) { echo $video->title."\r\n"; }
错误管理
// Reading a non-existing video $video = $merideApi->read('video', 9999); if ($video->hasErrors()) { // some error occured $apiResponse = $video->getApiResponse(); $error = $apiResponse->error; if ($apiResponse->httpCode == 404) { echo "Record not found"; } else { echo "\r\nError message: ".$error->message; echo "\r\nError code: ".$error->errorCode; } } else { if ($video->isEmpty()) { echo "No data available as the response is empty"; } else { echo "The video has ID ".$video->id." and title ".$video->title; } }
网页功能
生成Meride的div
use Meride\Web\Embed as Embed; echo Embed::div(array( 'embedID' => '1594', 'clientID' => 'webink', 'width' => '640', 'height' => '400', 'bulkLabel' => 'testLabel', 'autoPlay' => 'true', 'responsive' => 'true' ));
生成Meride的iframe
use Meride\Web\Embed as Embed; echo Embed::iframe(array( 'embedID' => '1594', 'clientID' => 'webink', 'width' => '640', 'height' => '400', 'bulkLabel' => 'testLabel' ));