美文网首页
tp5.1对接阿里云视频点播——删除

tp5.1对接阿里云视频点播——删除

作者: 道翼 | 来源:发表于2020-06-06 14:13 被阅读0次

    继上一篇上传,接着说下视频的删除功能,为什么没有修改呢,因为阿里云的修改api只是修改视频的id名和视频名称,不会更改存储的上传视频文件,所以我现在业务逻辑,修改的时候先添加视频获取视频id,修改完数据后再删除旧的,当然,感兴趣的可以去看看具体的api信息

    image.png

    接下来我们看到服务端sdk,这里其实出现了新版和旧版的区别,我用的是旧版,新版composer安装了,但偷懒,没做接入,我先说下旧版,有时间再在结尾加上新版使用过程

    看下图的两个文件,其实上一篇下载下来的上传sdk里面就包含了,当时没细看,后来写完发现了,可以直接在sdk文件里新建文件引用

    image.png image.png

    集成方法还是放在common.php里面:

    //阿里云视频点播删除接口
    function deleteVideo($vid)
    {
        //删除接口是用的阿里云旧版服务端sdk,新版composer文档不清晰,云api参数跟文档不一致,暂时不采用
        require_once '../public/alivod/ali.php';
        //阿里云上传adk需要绝对路径,所以先存储本地,上传完成后再进行删除
       $ali = new ali();
    
       $data = $ali->delinit($vid);
       return $data;
    }
    

    这个在public/alivod目录下,注意看上面截图

    <?php
    
    //阿里云删除视频
    require_once './alivod/voduploadsdk/aliyun-php-sdk-core/Config.php';   // 假定您的源码文件和aliyun-php-sdk处于同一目录
    use vod\Request\V20170321 as vod;
    class ali
    {
        //id
        public $accessKeyId;
        //secret
        public $accessKeySecret;
    
    //    function __construct($accessKeyId,$accessKeySecret)
    //    {
    //        $this->accessKeyId = $accessKeyId;
    //        $this->accessKeySecret = $accessKeySecret;
    //    }
    
        function initVodClient($accessKeyId, $accessKeySecret) {
            $regionId = 'cn-shanghai';  // 点播服务接入区域
            $profile = DefaultProfile::getProfile($regionId, $accessKeyId, $accessKeySecret);
            return new DefaultAcsClient($profile);
        }
        /**
         * 删除视频
         * @param client 发送请求客户端
         * @return DeleteVideoResponse 删除视频响应数据
         */
        public function deleteVideos($client, $videoIds) {
            $request = new vod\DeleteVideoRequest();
            $request->setVideoIds($videoIds);   // 支持批量删除视频;videoIds为传入的视频ID列表,多个用逗号分隔
            $request->setAcceptFormat('JSON');
            return $client->getAcsResponse($request);
        }
    
        public function delinit($vid){
            $accessKeyId='你的id';
            $accessKeySecret='你的secret';
            try {
                $client = $this->initVodClient($accessKeyId, $accessKeySecret);
                $delInfo = $this->deleteVideos($client, $vid);
                return json_encode($delInfo->RequestId);
            } catch (Exception $e) {
                return 1;
            }
        }
    }
    

    相关文章

      网友评论

          本文标题:tp5.1对接阿里云视频点播——删除

          本文链接:https://www.haomeiwen.com/subject/wgeozhtx.html