aliyun-sign

1.0.2 • Public • Published

阿里云签名

阿里云开放开发API
阿里云公共参数参考文档
阿里云签名机制参考文档

Install

npm i aliyun-sign --save

Usage

创建签名结构体,使用Axios发起请求

const axiso = require('axios')
const Sign = require('aliyun-sign').Sign
const sign = new Sign({
    AccessKeyId: 'your AccessKeyId',
    AccessKeySecret: 'your AccessKeySecret'
})
/// 阿里云API必须参数示例
/// 公共参数也是在这里定义
const params = {
    Action: 'DescribeLoadBalancerAttribute',
    LoadBalancerId: 'your LoadBalancerId',
    RegionId: 'cn-hangzhou'
}
/// 邀请求的 api url
const url = 'http://slb.aliyuncs.com/'
 
/// 创建阿里云要求的签名结构体
const aliyunSign = sign.create('GET', params)
 
/// 直接创建请求参数字符串
const aliyunSignString = sign.stringify('GET', params)
 
/// 签名结构体转化为字符串
/// aliyunSignString === aliyunSignString2 => true
const aliyunSignString2 = sign.paramsParser(aliyunSign)
 
axios
    .get([url, aliyunSignString].join('?'))
    .then(res => console.log(res.data))
    .catch(err => console.log(err.response.data))

使用内建Request发起请求 自动创建签名

/// Request是基于axios和Sign的封装
/// 可用于直接创建请求体
const Request = require('aliyun-sign').Request
const request = new Request({
    AccessKeyId: 'your AccessKeyId',
    AccessKeySecret: 'your AccessKeySecret'
})
const params = {
    Action: 'DescribeLoadBalancerAttribute',
    LoadBalancerId: 'your LoadBalancerId',
    RegionId: 'cn-hangzhou'
}
/// 邀请求的 api url
const url = 'http://slb.aliyuncs.com/'
 
request
    .get(url, params)
    .then(res => console.log(res.data))
    .catch(err => console.log(err.response.data))

Test

npm test

Package Sidebar

Install

npm i aliyun-sign

Weekly Downloads

1

Version

1.0.2

License

MIT

Unpacked Size

8.87 kB

Total Files

8

Last publish

Collaborators

  • gavinning