开发者服务端在与微投票服务器交互的过程中,需要对参数进行加签等操作,下边介绍具体规则。
1、请求微投票接口,需要根据参数生成一个签名(sign)并携带在参数中进行请求,最终的请求形式如下:
http://接口地址?sign=签名×tamp=当前秒级时间戳&nonce=随机字符串
并且除sign外的其余参数都需要参与签名计算。
2、签名生成方法:
将请求参数按键进行升序排序->将排序好的数组生成url-query参数->进行加密并拼接为最终签名
// php-demo
public function sign($data)
{
$access_key = '后台获取';
$secret_key = '后台获取';
if (is_array($data)) {
ksort($data); // 按照升序排序
$data = http_build_query($data); // 转为url-query参数,如:a=1&b=2&c=3
}
$sign_temp = hash_hmac('sha1', $data, $secret_key); // 加密
return $access_key . '_' . strtoupper($sign_temp); // 拼接最终签名
}
# python-demo
import hmac
from urllib.parse import urlencode
def sign(data):
access_key = '后台获取'
secret_key = '后台获取'
sign_data = sorted(data.items(), key=lambda d: d[0]) # 按照升序排序
sign_data = urlencode(sign_data) # 转为url-query参数,如:a=1&b=2&c=3
sign_temp = hmac_sha1(secret_key, sign_data) # 加密
return access_key + '_' + sign_temp.upper() # 拼接最终签名
3、接口请求域名
接口地址前缀为:
https://server.weitoupiao.com/api/
然后跟上具体接口地址,如:
https://server.weitoupiao.com/api/tpopen/wxxcxLogin
调用wxxcxLogin或guestLogin接口后,系统会返回login_token字段,此字段后续接口请求中需要携带在请求头header中,字段名为Token。
部分接口需要的特殊参数类型,如:array、object等类型
array类型:按 val1,val2,val3 的形式传值
object类型:按 json 形式传值
上一篇:客户端/服务端接口列表
下一篇:客户端接口文档