请以自建应用的AK和SK来调用接口,AK和SK请妥善保管。
API调用方式及签名算法
- 用户可以在HTTP Header中包含签名 (Authorization)
- 签名头 (Authorization)验证码计算方法如下: Authorization:"WPS-2:" + AK + ":" + sha1( SK + Content-Md5 + Content-Type + DATE) ◦ 其中WPS-2 为接口版本,WPS-1为版本1,WPS-2为版本2,类推, 此文档只支持WPS-2。 ◦ 标准sha1算法结果为一个40个字符的字符串,16进制小写表示的string. 注意: HTTP Header中必须包含以下字段
- Content-Md5 HTTP Body中数据的md5值十六进制表达方式, 必需小写, 如果Body中没有内容一律使用URI计算Md5, 例如: uri=/api/files/123?filter=folder
- Content-Type 目前固定为: application/json
- DATE 取当前时间, 格式: Wed, 23 Jan 2013 06:43:08 GMT
- Authorization 上面所说的签名头
签名示例
json
let ak = pm.variables.get("ak")
let sk = pm.variables.get("sk")
let content
if (pm.request.body.raw !== undefined && pm.request.body.raw.length > 0) {
content = pm.request.body.raw
} else {
let url = pm.request.url.getPathWithQuery()
content = encodeURI(url)
}
let ct = "application/json"
let date = (new Date()).toUTCString()
let md5Str = CryptoJS.MD5(content).toString()
let authStr = sk + md5Str + ct + date
let sha1Str = CryptoJS.SHA1(authStr).toString()
let authorization = "WPS-2:" + ak + ":" + sha1Str
pm.request.headers.append({"key":"Content-Type","value":ct})
pm.request.headers.append({"key":"Content-MD5","value":md5Str})
pm.request.headers.append({"key":"Authorization","value":authorization})
pm.request.headers.append({"key":"Date","value":date})