请求地址:https://taoapi.ndxiu.com/service/get_detail.php
请求方式:get
请求示例:{tid:'淘宝商品id',appkey:'专属appkey',sign:'签名参数'}
建议场景:为了保证接口调用效率,建议在客户端使用ajax方法发起调用。
请求参数信息 接口返回的信息接口返回的信息包括了详情图地址列表,通过jq可以构造出详情描述。
服务端生成签名参数(以PHP为例):
//这里是您自己的鉴权代码,通过鉴权后才开始下面的签名
$appkey = 'tbw******'; //这里填写您的appkey
$appsecret = '******'; //这里填写您的appsecret
$noncestr = getNonceStr(6); //生成随机字符串
$date = date('Y-m-d'); //生成日期
$signature = getSignature($appkey,$appsecret,$date,$tid); //生成签名
echo json_encode(array('tid'=>$tid,'appkey'=>$appkey,'sign'=>$signature)); //输出json字符串到客户端
//通过md5加密生成签名的函数
function getSignature($appkey,$appsecret,$date,$tid){
$string = $appkey.$appsecret.$date.$tid;
$md5 = md5($string);
return $md5;
}
何时开始签名?当您的用户访问商品详情页时发起签名,将签名直接跟页面一起返回。
客户端使用ajax发起调用:
function getDetail(tid,appkey,sign){ //传入的实参建议不要暴露给全局
$.ajax({
type: 'GET', //使用GET请求方式
async: false,
url: 'https://taoapi.ndxiu.com/service/get_detail.php',
data: {
tid:tid,
appkey:appkey,
sign:sign
},
dataType: 'jsonp', //解决跨域调用问题
jsonp: 'callback',
jsonpCallback: 'showDetail',
success: function(jsonp){
//生成并显示详情图
},
error: function(){}
});
}
需要注意当客户端请求详情时时间点刚好跨到第二天的情况,返回0019错误(签名参数无效),此时请重新生成签名重复请求一次即可。
网友评论