您的位置:首页 > 编程语言 > PHP开发

php调用淘宝接口

2016-06-24 09:52 471 查看
<?php


$para = array(
'format' => 'json',
'v' => '2.0',
'sign_method' => 'md5',
'app_key' => $app_key,
'app_secret' => $app_secret,
'session' => $app_session,
'app_nick' => $app_nick,
'app_type' => 'B',
'method' => 'taobao.trade.get',
'fields' => 'tid,type,status,payment,orders',
'tid'   =>$tid
);
$result = do_execute($url, $para, $para);
//var_dump($result);exit;
$arr = json_decode($result);
print_r($arr);exit;
function do_execute( $url, $apiParams, $sign_conf) {
$timestamp = date("Y-m-d H:i:s");
$apiParams ['timestamp'] = $timestamp;
$sign_conf['timestamp'] =   $timestamp;
$apiParams ['sign'] = createSign ( $apiParams['app_secret'], $sign_conf); // 签名生成sign

$ch = curl_init ();
curl_setopt ( $ch, CURLOPT_URL, $url );
curl_setopt ( $ch, CURLOPT_FAILONERROR, false );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt ( $ch, CURLOPT_TIMEOUT, 30 );

// 如果参数为数组则
if (is_array ( $apiParams ) && 0 < count ( $apiParams )) {
$postBodyString = "";
foreach ( $apiParams as $k => $v ) {
$postBodyString .= "$k=" . urlencode ( $v ) . "&";
}
unset ( $k, $v );
} else {
$postBodyString = $apiParams;
}

try {
curl_setopt ( $ch, CURLOPT_POST, true );
curl_setopt ( $ch, CURLOPT_POSTFIELDS, substr ( $postBodyString, 0, - 1 ) );
$reponse = curl_exec ( $ch );
if (curl_errno ( $ch )) {
$curl_error = curl_error ( $ch );
throw new Exception ( $curl_error, 0 );
} else {
$httpStatusCode = curl_getinfo ( $ch, CURLINFO_HTTP_CODE );
if (200 !== $httpStatusCode) {
throw new Exception ( $reponse, $httpStatusCode );
}
}
} catch (Exception $e) {}

curl_close ( $ch );
return $reponse;
}
/**
* 生成签名
*/
function createSign($appSecret, $paramArr) {
$sign = $appSecret;
ksort ( $paramArr );
foreach ( $paramArr as $key => $val ) {
if ($key != '' && $val != '') {
$sign .= $key . $val;
}
}

$sign .= $appSecret;
$sign = strtoupper ( md5 ( $sign ) );
return $sign;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  php