阿里云云市场 api 签名调用 sdk | php 技术论坛-金年会app官方网
阿里云云市场 api 签名调用 sdk
本文初次编写时间:2024-10-17
需求
1、在阿里云云市场购买了 api 接口,但是不想使用示例 php 代码中的“api简单身份认证调用”,想使用更加安全的“api签名认证调用”
实现
- 根据阿里云官方的签名调用示例代码,编写了 sdk ,并上传到 composer 库,这样可以最方便的使用。实际的改动也就是加个命名空间,基本没怎么改。
- 本项目的目的,在阿里云市场购买 api 接口后,不想使用不安全的 api 简单身份调用认证,想使用更安全的 api 签名调用认证,但苦于没有现成的 composer 库,本项目来提供金年会app官方网的解决方案。
- 签名调用的原理参见金年会app官方网官网:
- 最主要的代码在 util/httputil.php
- 排查错误,可以使用返回对象的 getcontent() 等方法,会完整打印出所有返回信息含头信息。正常只需 getbody() 就可以得到接口的返回信息。
- 如想自己修改代码,无需改本类库,只需把类库根目录下的 apiclient.php 取出拷贝到自己项目,然后随便改改就好用了。
- 本项目创建时间 2024-10-17
代码示例
// 这是一个示例,展示了如何使用本sdk调用接口。
$appkey='20xxxxxx';
$appsecret='zvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
$host='https://xxxxx.market.alicloudapi.com';
$path = "/xxx/xxx";
$help = \yyy\aliyun\apigateway\apiclient::getinstance( $appkey, $appsecret );
// 只有post,get两个方法。
$response = $help->post( $host, $path,[
'name'=>'xxxx', 'account'=>'1xxxxxxxxxxxxxxxxxxx',] );
// 返回是字符串。
echo $response->getbody();
// 返回类似如下代码,特别注意,每个接口返回的字段都很不一样。不可以套用。
//{"data":{"count":1,"items":[{"name":"xxx","abc":"ic","province":""}]},"msg":"成功","success":true,"taskno":"742436029166773500611327"}
安装流程
composer require yyy/aliyun_api_gateway
如果有问题,就切换到 官方的composer镜像。
总结
1、调用更加安全,因为使用了签名认证。
本作品采用《cc 协议》,转载必须注明作者和本文链接