百度知道开放平台/请求数据包规范
查看全部词条命名空间:Main
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。

