aliyun / aliyun-openapi-php-sdk

[Abandoned] Open API SDK for PHP developers
Other
606 stars 806 forks source link

视频信息获取失败 #106

Closed zymaozZ closed 4 years ago

zymaozZ commented 4 years ago

官方文档:查询媒体-使用OSS文件地址

按照demo总是 提示找不到文件。

include_once 'aliyun-php-sdk-core/Config.php';
use Mts\Request\V20140618 as Mts;
date_default_timezone_set('PRC');
class QueryMediaListByURLDemo {
    private $client;
    private $region = 'cn-shanghai';
    private $accessKeyId = 'accessKeyId';
    private $accessKeySecret = 'accessKeySecret';
    function __construct() 
    {
        $profile = DefaultProfile::getProfile($this->region, $this->accessKeyId, $this->accessKeySecret);
        $this->client = new DefaultAcsClient($profile);
    }
    function queryMediaListByUrl()
    {
        $request = new Mts\QueryMediaListByURLRequest();
        #$ossDomain = 'http://<input-bucket>.<region>.aliyuncs.com/';
        # 唯一的区别可能是这里。示例中写的是 http://<input-bucket>.<region>.aliyuncs.com/
        # 我写的是 http://my.oss-cn-shanghai.aliyuncs.com/
        $ossDomain = 'http://my.oss-cn-shanghai.aliyuncs.com/';
        #ossObject需要RFC3986编码
        $ossObject = 
            $this->encodeByRFC3986('a/b/c.mp4');
        $request->setFileURLs($ossDomain.$ossObject);
        $response = $this->client->getAcsResponse($request);
        echo json_encode($response);
    }
    function encodeByRFC3986($arg_1)
    {
        $encodeOssObject="";
        $arraylist = explode("/", $arg_1);
        for($i = 0; $i < count($arraylist); $i++)
        {
            $tmp = rawurlencode($arraylist[$i]);
            $encodeOssObject = $encodeOssObject.$tmp;
            if ($i !== count($arraylist) -1) {
                $encodeOssObject = $encodeOssObject."/";
            }
        }
        return $encodeOssObject;
    }
}
$demo = new QueryMediaListByURLDemo();
$demo->queryMediaListByUrl();

结果:

{
    "MediaList": {
        "Media": []
    },
    "RequestId": "AB6D495B-620A-4A49-9AB4-54B46C23AD63",
    "NonExistFileURLs": {
        "FileURL": [
            "http://my.oss-cn-shanghai.aliyuncs.com/a/b/c.mp4"
        ]
    }
}

请问大佬知道是什么原因嘛

ghost commented 4 years ago

官方文档:查询媒体-使用OSS文件地址

按照demo总是 提示找不到文件。

include_once 'aliyun-php-sdk-core/Config.php';
use Mts\Request\V20140618 as Mts;
date_default_timezone_set('PRC');
class QueryMediaListByURLDemo {
    private $client;
    private $region = 'cn-shanghai';
    private $accessKeyId = 'accessKeyId';
    private $accessKeySecret = 'accessKeySecret';
    function __construct() 
    {
        $profile = DefaultProfile::getProfile($this->region, $this->accessKeyId, $this->accessKeySecret);
        $this->client = new DefaultAcsClient($profile);
    }
    function queryMediaListByUrl()
    {
        $request = new Mts\QueryMediaListByURLRequest();
        #$ossDomain = 'http://<input-bucket>.<region>.aliyuncs.com/';
        # 唯一的区别可能是这里。示例中写的是 http://<input-bucket>.<region>.aliyuncs.com/
        # 我写的是 http://my.oss-cn-shanghai.aliyuncs.com/
        $ossDomain = 'http://my.oss-cn-shanghai.aliyuncs.com/';
        #ossObject需要RFC3986编码
        $ossObject = 
            $this->encodeByRFC3986('a/b/c.mp4');
        $request->setFileURLs($ossDomain.$ossObject);
        $response = $this->client->getAcsResponse($request);
        echo json_encode($response);
    }
    function encodeByRFC3986($arg_1)
    {
        $encodeOssObject="";
        $arraylist = explode("/", $arg_1);
        for($i = 0; $i < count($arraylist); $i++)
        {
            $tmp = rawurlencode($arraylist[$i]);
            $encodeOssObject = $encodeOssObject.$tmp;
            if ($i !== count($arraylist) -1) {
                $encodeOssObject = $encodeOssObject."/";
            }
        }
        return $encodeOssObject;
    }
}
$demo = new QueryMediaListByURLDemo();
$demo->queryMediaListByUrl();

结果:

{
    "MediaList": {
        "Media": []
    },
    "RequestId": "AB6D495B-620A-4A49-9AB4-54B46C23AD63",
    "NonExistFileURLs": {
        "FileURL": [
            "http://my.oss-cn-shanghai.aliyuncs.com/a/b/c.mp4"
        ]
    }
}

请问大佬知道是什么原因嘛

Github 目前仅受理SDK功能性问题,API返回问题请提交工单咨询。