联系我 们美狐 萌颜sdk 获取key和secret
通过key和secret获取access_token
通过access_token访问API
获取 美狐 萌颜sdk access_token
获取access_token时,需要用到key和secret,本文档中假设
Key = '12345' //必须携带
Secrect = '54321'
获取access_token的具体流程如下:
1. 本次获取美狐 萌颜sdk 将本次请求参数按照名称进行升序排列
排序前:
{
"Key":"12345"
}
排序后:
{
"params":"test"
}
2. 在美狐 萌颜sdk 构造被签名参数串 *
签名串的构造规则为:被签名串 = 所有请求参数拼接(无需HTTP转义),并在本签名串的结尾拼接secret。
本例中排序后参数见上,故参数拼接后为Key12345paramstest,然后加上账户中的secret,即本例中的54321 ,最终被签名串为
Key12345paramstest54321。
3. 在美狐 萌颜sdk 计算签名 *
计算被签名串的sha1值生成Signature。
Nodejs代码
const { createHash } = require("crypto");
function signature(params,secrect) {
let keys = Object.keys(params).sort(); //按参数排序
let sign_str: string = '';
keys.forEach((value, index) => { //构造被签名串
sign_str += value + params[value];
});
sign_str += secrect; //连接secrect
return createHash('sha1').update(sign_str).digest('hex'); //返回被签名串的sha1值
}
Python代码
import hashlib
import urlparse
import urllib
def _verfy_ac(private_key, params):
items=params.items()
# 请求参数串
items.sort()
# 将参数串排序
params_data = "";
for key, value in items:
params_data = params_data + str(key) + str(value)
params_data = params_data + private_key
sign = hashlib.sha1()
sign.update(params_data)
signature = sign.hexdigest()
return signature
# 生成的Signature值
签名计算命令行工具:Windows版 Linux版 Macos版
Exmaple:faceunity-cli signature --key 111 --secrect 222
4. 在美狐 萌颜sdk 拼接出请求链接
将计算出的Signature拼接到尾部(各参数需要url编码,例如Key为lbA2MypNve2PeZpaOiPUGnSt+FHePw==,编码后为
lbA2MypNve2PeZpaOiPUGnSt%2BFHePw%3D%3D)
5. 最后需要美狐 萌颜sdk 发送请求,获取access_token
请求成功后会返回如下结构
{
"code":2,
"message":"success",
"data":{
"access_token":"82f205d0-8a31-11e8-8c11-b74c5a2e235c",
"expirein":600
}
}
data.access_token:申请到的access_token。
data.expirein:token的过期时间,单位为秒。
以上就是美狐 萌颜sdk的API使用的三个流程,详细介绍了 通过key和secret获取access_token ; 通过access_token访问API ; 获取 美狐 萌颜sdk access_token ; 获取access_token时,需要用到key和secret 。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69945872/viewspace-2654161/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69945872/viewspace-2654161/