百度推送REST API 签名组织方法

来源:互联网 发布:怎么上架淘宝宝贝 编辑:程序博客网 时间:2024/06/04 19:11

百度云推送应该是现在推送领域的后起之秀了,做的不错,但是问题在于REST API设计的太复杂了...尤其是那个签名验证方法

复杂就复杂吧,还不给提供做好的接口,只能用户自己去拼了...


虽然这个页面http://developer.baidu.com/wiki/index.php?title=docs/cplat/push/api中说的挺清楚的,还是会有一些误会,这里记录下来:


1、基础算法:

百度用了一个php代码作为例子:

/*** $secret_key //应用的secret key* $method //GET或POST* $url url* $arrContent //请求参数(包括GET和POST的所有参数,不含计算的sign)* return $sign string**/function genSign($secret_key, $method, $url, $arrContent) {    $gather = $method.$url;    ksort($arrContent);    foreach($arrContent as $key => $value) {        $gather .= $key.'='.$value;    }       $gather .= $secret_key;    $sign = md5(urlencode($gather));    return $sign;}    $secret_key = 'xxxxxxxx';//此处替换为应用的secret key$method = 'POST';$url = 'http://channel.api.duapp.com/rest/2.0/channel/channel';$arrContent = array(    'method'=>'token',    'timestamp'=>1313293563,    'expires'=>1313293565,);  $sign = genSign($secret_key, $method, $url, $arrContent);

2、注意事项

  • apikey也要加入这个array中,也就是说签名值的计算字符串中,包含apikey这一段
  • urlencode必须做
  • md5的结果为必须小写
现在大家应该可以调出来自己需要的结果了

0 0
原创粉丝点击