因为网站想添加个功能,就是自动转换淘宝客链接,尝试弄了下淘宝api,签名部分折腾的头疼,一直被淘宝的api测试工具误导,一直被网上乱七八糟的说法误导。做下记录,别忘记了。
签名规则是:
官方说明:http://open.taobao.com/doc/detail.htm?id=111#s6
除了图片和签名,其余提交的所有参数都要md5下。参数要按照升序(a-z)排列。如果参数首字母相同,就按照第二个字母排序。
总结下sign = 大写(md5(appsecret+appkey+参数+appsecret))
另外拼装url的时候要注意,参数值都要url编码的。
解释的好苍白,还是上代码吧。没有appkey 自己添加,因为是测试代码,比较乱,自己修改
$sign = '';
$appsecret = "";
$appkey = "";
$ctime = date("Y-m-d H:i:s");
$timestamp = urlencode($ctime);
$parame = array(
'app_key'=>$appkey,
'fields'=>'num_iid,title,nick,pic_url,price',
'format'=>'xml',
'method'=>'taobao.taobaoke.items.convert',
'nick'=>'',
'num_iids'=>'15293327612',
'sign_method'=>'md5',
'timestamp'=>'',
'v'=>'2.0',
);
$parame['timestamp']=$ctime;
ksort($parame);
foreach($parame as $key => $value){
$sign .= $key.$value;
}
$sign = $appsecret.$sign.$appsecret;
//echo $sign;
$sign = strtoupper(md5($sign));
$apiurl = "http://gw.api.taobao.com/router/rest?sign=".$sign."&";
foreach($parame as $key => $value){
$apiurl .= $key.'='.urlencode($value).'&';
}
echo $apiurl;
评论 (0)