mosai-co/meride-php-sdk

用于与Meride平台交互的库

1.0.0 2022-07-26 16:01 UTC

This package is auto-updated.

Last update: 2024-09-26 20:51:46 UTC


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'),然后您就可以使用库了。

测试

  1. 在系统上创建MERIDE_URL环境,使用export MERIDE_URL="{{URL}}",其中{{URL}}将是要测试的CMS(例如https://cms.meride.tv/yourclientid
  2. 在系统上创建MERIDE_AUTH_CODE环境,使用export MERIDE_AUTH_CODE="{{AUTH_CODE}}",其中{{AUTH_CODE}}是调用API的授权代码
  3. 在系统上创建MERIDE_STORAGESERVICE_URL环境,使用export MERIDE_STORAGESERVICE_URL="{{STORAGESERVICE_URL}}",其中{{STORAGESERVICE_URL}}是存储服务的地址(基础URL)
  4. 在系统上创建MERIDE_AUTH_USER环境,使用export MERIDE_AUTH_USER="{{AUTH_USER}}",其中{{AUTH_USER}}是所需的客户端ID
  5. 在系统上创建MERIDE_VIDEO_ID环境,使用export MERIDE_VIDEO_ID="{{VIDEO_ID}}",其中{{VIDEO_ID}}是待测试的所需视频ID(必须在测试平台上存在)
  6. 创建MERIDE_STORAGE_PROTOCOL环境,指定存储URL的HTTP协议是http还是https
  7. 从项目的根目录启动./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'
));