阿里云云市场 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 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
未填写
文章
58
粉丝
11
喜欢
63
收藏
104
排名:483
访问:1.8 万
博客标签
社区赞助商
网站地图