本文提供了媒体处理PHP SDK新增媒体功能的API调用示例。

前提条件

使用前请先安装及完成PHP SDK相关配置,详细信息,请参见前言。更多SDK及API调用示例,请参见OpenAPI

新增媒体

调用AddMedia新增媒体,接口参数和返回字段详细信息请参见新增媒体,调用示例如下:
说明 如果上传的目录满足工作流触发条件,则会触发工作流执行,否则不触发。详细触发规则,请参见媒体工作流的文件触发匹配规则
<?php
use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Mts\Mts;

// Download:https://github.com/aliyun/openapi-sdk-php
// Usage:https://github.com/aliyun/openapi-sdk-php

AlibabaCloud::accessKeyClient('<your-access-key-id>', '<your-access-key-secret>')
// use STS Token
// AlibabaCloud::stsClient('<your-access-key-id>', '<your-access-key-secret>', '<your-sts-token>')   
    ->regionId('cn-shanghai')
    ->asDefaultClient();

try {
    $request = Mts::v20140618()->addMedia();
    $result = $request
        //输入文件的路径,不超过3200字节。
        ->withFileURL("http://exampleBucket.oss-cn-shanghai.aliyuncs.com/Act-Snapshot/video_01.mp4")
       //媒体标题,长度限制不超过128个字节,UTF-8编码。
        ->withTitle("test")
        //描述。长度限制不超过1024个字节。UTF-8编码。
        ->withDescription("这是一个视频")
        //标签列表。用半角逗号(,)分隔,不超过16个标签。单个标签不能超过32个字节。UTF-8编码。
        //媒体处理中,每个媒体的每个标签都是独立的,可以通过搜索媒体库来查找所有设置了相同标签的媒体。
        ->withTags("exampleTags")
        //封面URL。不超过3200字节。
        ->withCoverURL("http://examplebucket.oss-cn-hangzhou.aliyuncs.com/example/1.png")
        //媒体工作流ID。
        ->withMediaWorkflowId("f52e4fb0e26c475fa9dc5b44660e****")
        //是否检查指定的工作流支持输入路径。
        ->withInputUnbind(true)
        //是否检查指定的工作流支持输入路径。
        ->withCateId(1)
        ->debug(true) // Enable the debug will output detailed information
        ->connectTimeout(1) // Throw an exception when Connection timeout
        ->timeout(1) // Throw an exception when timeout 
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}