百度知道开放平台/请求数据包规范
来自站长百科
URL[ ]
按照百度Open API规范,百度知道频道OPEN API提供如下REST风格的HTTP接口:
http://zhidao.xxx.com/restserver/zhidao?{query_string}
query_string由系统级参数部分和具体Open API调用参数部分组成,以key1=value&key2=value2&…表示,对于采用POST请求的Open API,query_string部分则是在POST请求体里。
所有查询类的Open API接口既支持POST,也支持GET方式,提交类的OPEN API接口仅支持POST方式。
参数[ ]
系统级参数[ ]
以下参数是由百度Open API平台系统定义的,百度知道频道需要支持这些参数以便接入该平台提供开放接口。百度知道频道采用应用授权认证接口方式,合作初始百度知道开放平台代第三方站点申请应用分配api_key和参数签名密钥api_secret。
API系统级参数
业务级参数的通用约定[ ]
百度知道频道遵守百度Open API规范中业务级通用参数的约定。
业务级参数的通用约定
参数签名算法[ ]
参数签名生成算法采取如下方式(PHP版),其它语言根据注释描述完成等同功能:
//param_array是key-value形式的参数数组,不包括api_secret密钥本身 //secret是合作申请成功后分配的api_secret密钥 function generate_sig($param_array, $secret) { $str = ''; //对param_array中的参数名称进行升序排序 ksort($param_array); //按照如下格式转换数组为string格式 foreach ($param_array as $k=>$v) { $str .= "$k=$v"; } //string末端补充api_secret密钥 $str .= $secret; //生成32位小写MD5为最终的数据签名 return md5($str);
注:密钥是百度知道频道分配给第三方应用的secret_key,该算法返回的结果便是系统级参数中的bd_sig。