开发者社区> 问答> 正文

使用阿里云产品用PHP语音开发

1 首先下载PHPSDK,参考https://github.com/aliyun/aliyun-openapi-php-sdk?spm=5176.7926454.195961.1.ElKdu6
下载完后目录是这样的,如下截图,下载完毕后,aliyun-php-sdk-core是具体配置目录,aliyun-php-sdk-demo里面是demo测试,其他是各种产品目录,比如aliyun-php-sdk-slb是负责均衡,aliyun-php-sdk-cdn是cdn产品,aliyun-php-sdk-ecs 是ecs服务器等等



2 然后进入到aliyun-php-sdk-core目录,打开Config.php文件,导入具体要使用的产品(如果没有的话需要自己导入, 比如cdn产品,在github下载的phpsdk没有cdn的sdk,在https://help.aliyun.com/document_detail/27234.html?spm=5176.doc27257.6.229.ChiI4A自己下载cdn的PHPSDK,然后放到aliyun-openapi-php-sdk-master这个目录下)




3 这时候就可以自己写demo测试了,比如一个刷新cdn目录的demo,如下代码。
<?php
include_once '../aliyun-php-sdk-core/Config.php';
use Cdn\Request\V20141111 as Cdn;
$iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "your-accesskey", "your-accesssecret");
$client = new DefaultAcsClient($iClientProfile);
$request = new Cdn\RefreshObjectCachesRequest();
$request->setMethod("GET");
$request->setObjectPath("oss.aikuniu.com/1/");
$request->setObjectType("Directory");
$response = $client->getAcsResponse($request);
print_r($response);



4 这时候可能大家会纳闷这个格式,函数在哪看定义,sdk是完全按照API借口封装的,比如这个cdn的demo,查看API接口, https://help.aliyun.com/document_detail/27200.html?spm=5176.doc27234.6.164.zbE5Ns
request对象就是aliyun-openapi-php-sdk-master/aliyun-php-sdk-cdn/Cdn/Request/V20141111/目录下的对象,自己要用哪个对应new对象就可以了,其实也是cdnapi的action名字后面加了一个Request
可以看到刷新目录的API,RefreshObjectCaches接口请求参数有两个,ObjectPath和 [font=微软雅黑, 'Microsoft Yahei', 'Hiragino Sans GB', tahoma, arial, 宋体]ObjectType(非必须参数),所以上面的demo中request对象调用的两个函数

$request->setObjectPath("oss.aikuniu.com/1/");
$request->setObjectType("Directory");
注意大小写,set后面的参数完整按照API接口的参数。
$request->setMethod("GET");默认就写GET方法。



其他功能接口或者其他产品依葫芦画瓢写个就可以了,使用SDK最复杂繁琐的签名步骤都封装好了,直接调用就可以简单使用了。


展开
收起
hpy 2016-06-18 23:41:02 9814 0
4 条回答
写回答
取消 提交回答
  • 回 楼主hpy的帖子
    不需要设置AccessKey吗 ?应该写在哪个问件。
    2017-05-09 11:05:18
    赞同 展开评论 打赏
  • 看看
    2016-06-23 00:11:11
    赞同 展开评论 打赏
  • 阿里云论坛版主,QQ 1978638808
    支持技术性验证文章。
    2016-06-19 08:06:31
    赞同 展开评论 打赏
  • hpy
    Re使用阿里云产品用PHP语音开发
    比如ecs的demo,获取ecs列表参考 https://help.aliyun.com/document_detail/25506.html?spm=5176.product8314827_25365.6.238.Eieryp,先阅读对应api,可以看请求参数只有RegionId是必须带的。其他可以自己定义
    <?php
    include_once '../aliyun-php-sdk-core/Config.php';
    use Ecs\Request\V20140526 as Ecs;

    $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "your-accesskey", "your-accesssecret");
    $client = new DefaultAcsClient($iClientProfile);

    $request = new Ecs\DescribeInstancesRequest();
    $request->setMethod("GET");
    $request->setRegionId("cn-hangzhou");
    $response = $client->getAcsResponse($request);
    print_r($response);

    -------------------------

    回 楼主hpy的帖子
    媒体转码提交转码的demo,对比 https://help.aliyun.com/document_detail/29226.html?spm=5176.product29194.6.131.bwpSV9这个API

    <?php
    include_once '../aliyun-php-sdk-core/Config.php';
    use Mts\Request\V20140618 as Mts;

    $iClientProfile = DefaultProfile::getProfile("cn-hangzhou", "accesskeyid", "accesssecret");
    $client = new DefaultAcsClient($iClientProfile);

    $request = new Mts\SubmitJobsRequest();
    $request->setMethod("GET");
    $input = "{\"Bucket\":\"bucketname",\"Location\":\"oss-cn-hangzhou\",\"Object\":\"1.flv\"}";
    $output = "[{\"OutputObject\":\"merge.mp4\",\"TemplateId\":\"S00000001-200020\",\"MergeList\":[{\"MergeURL\":\"http://zuichi.oss-cn-hangzhou.aliyuncs.com/movie.mp4\",\"Start\":\"15\",\"Duration\":\"15\"},{\"MergeURL\":\"http://zuichi.oss-cn-hangzhou.aliyuncs.com/ys.mp4\",\"Start\":\"15\",\"Duration\":\"15\"}]}]";
    $request->setInput($input);
    $request->setOutputBucket("zuichi");
    $request->setOutputs($output);
    $request->setPipelineId("097b8c1cae9c4af0a25bd28630e305e7");
    $response = $client->getAcsResponse($request);
    print_r($response);
    2016-06-19 00:00:01
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
PHP 2017.北京 全球开发者大会——高可用的PHP 立即下载
PHP安全开发:从白帽角度做安全 立即下载
复杂PHP系统性能瓶颈排查及优化 立即下载