php第三方阿里云接口

openapi调试

阿里云 OpenAPI 开发者门户

1、短信发送

1、开通短信服务
2、申请短信签名
3、创建短信模板
4、composer require alibabacloud/client

云账号密钥accessKeyId、accessKeySecret
短信签名signName、短信模板templateCode

try{
    AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
    ->regionId('cn-hangzhou')
    ->asGlobalClient();

    $result = AlibabaCloud::rpcRequest()
        ->product('Dysmsapi')
        ->scheme('https') // https | http
        ->host('dysmsapi.aliyuncs.com')
        ->version('2017-05-25')
        ->action('SendSms')
        ->method('POST')
        ->options([
            'query' => [
                'PhoneNumbers' => $phone,
                'SignName' => $signName,
                'TemplateCode' => $templateCode,
                'TemplateParam' => json_encode(['code'=>rand(1000,9999)])
            ],
        ])
        ->request()->toArray();

    if(strcasecmp('OK',$result['Code'])  === 0){
        echo "发送成功";
    }else{
        echo "发送失败";
    }
}catch(\Exception $e){
    Log::error('阿里云服务器端发送短信异常'.$e->getMessage());
    echo "发送异常".$e->getMessage());
}

2、oss存储cdn访问

1、开通oss服务配置cdn加速域名
2、composer require aliyuncs/oss-sdk-php

try{
    // 云账号密钥:accessKeyId、accessKeySecret
    // 容器区域仓库名称:endpoint、bucket
    $cndDomain = "http://www.deamon.cn/"; // cdn加速域名

    $ossClient = new OssClient($accessKeyId, $accessKeySecret, $endpoint);
    if(!$ossClient->doesBucketExist($bucket)){
        $ossClient->createBucket($bucket);
    }
    $file = './uploads/logo.jpg';
    $object = date('Ymd').'/'.md5(time()).'.'.pathinfo($file,PATHINFO_EXTENSION);
    $ossClient->uploadFile($bucket, $object, $file);
    @unlink($file);

    if($result['info']['http_code']==200){
        $path = $cndDomain.$object;
        echo "上传成功,图片:".$path;
    }else{
        echo "上传失败";
    }

} catch(OssException $e) {
    Log::error('阿里云OOS上传文件异常'.$e->getMessage());
    echo "上传失败.$e->getMessage()";
}

3、vod视频点播

vod视频上传(媒体上传、媒资管理 媒体处理 音视频 直播转点播)

步骤:开通视频点播vod配置
composer require alibabacloud/client
1、用户获取上传授权。
2、VOD下发上传地址和凭证及VideoId。
3、用户上传视频并保存视频ID(VideoId)。


// vod视频上传
AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
    ->regionId('cn-shanghai')
    ->asDefaultClient();

try {
    $localFile = './uploads/logo.mp4';
    $request = Vod::v20170321()->createUploadVideo();
    $result = $request
        ->withFileName(md5(time()).'_'.pathinfo($localFile,PATHINFO_BASENAME))
        ->withTitle(md5(time()))
        ->connectTimeout(1) // Throw an exception when Connection timeout
        ->timeout(1) // Throw an exception when timeout
        ->request();

    if($result->getStatusCode()){
        $resultArr = $result->toArray(); // VideoId UploadAddress RequestId UploadAuth
        $UploadAddress =json_decode(base64_decode($resultArr['UploadAddress']),true);
        $UploadAuth =json_decode(base64_decode($resultArr['UploadAuth']),true);
        $UploadAddress['Endpoint'] = str_replace("https:", "http:", $UploadAddress['Endpoint']);
        $ossClient = new OssClient($UploadAuth['AccessKeyId'], $UploadAuth['AccessKeySecret'], $UploadAddress['Endpoint'],
            false, $UploadAuth['SecurityToken']);
        $ossClient->setTimeout(86400*7);    // 设置请求超时时间,单位秒,默认是5184000秒, 建议不要设置太小,如果上传文件很大,消耗的时间会比较长
        $ossClient->setConnectTimeout(10);  // 设置连接超时时间,单位秒,默认是10秒

        $vod = $ossClient->uploadFile($UploadAddress['Bucket'], $UploadAddress['FileName'], $localFile);
        echo "上传成功,地址:".str_replace('outin-112212e12cae11ecada700163e024c6a.oss-cn-shanghai.aliyuncs.com','加速域名',$vod['info']['url']);

    }else{
        echo "上传失败";
    }

} catch(\Exception $e){
    Log::error('阿里云vod上传异常'.$e->getMessage());
    echo "上传失败".$e->getMessage());
}

// vod视频播放
try{
    $regionId = 'cn-shanghai';

    define("VOD_CLIENT_NAME", 'AliyunVodClientDemo');
    //填入AccessKey信息
    AlibabaCloud::accessKeyClient($accessKeyId, $accessKeySecret)
        ->regionId($regionId)
        ->connectTimeout(1)
        ->timeout(3)
        ->name(VOD_CLIENT_NAME);

    // 视频信息 getVideoInfo
    // 播放信息 getPlayInfo
    $vod = Vod::v20170321()->getPlayInfo()
        ->client(VOD_CLIENT_NAME)
        ->withVideoId("caa311ade27b4e4e955bc6685e9841bd")
        ->format('JSON')
        ->request();
    if($vod->toArray()['PlayInfoList']['PlayInfo'][0]['PlayURL']){
        echo "播放路径:".$vod->toArray()['PlayInfoList']['PlayInfo'][0]['PlayURL'];
    }

} catch(\Exception $e) {
    Log::error('阿里云Vod播放路径异常'.$e->getMessage());
    echo "播放失败".$e->getMessage());
}

4、直播服务

播流域名 key
拉流域名 key

根据选择时间生成推流、播流地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值