本文實例講述了php調用淘寶開放API實現根據賣家昵稱獲取賣家店鋪ID的方法。分享給大家供大家參考。具體實現方法如下:
<?php header("Content-Type:text/html;charset=UTF-8"); /*本程序功能:根賣家昵稱獲取賣家店鋪sid,還有店鋪標題*/ //config $appKey = '12345678; //你的密匙 $appSecret = '123456789'; $usernick = 'grayvoice'; //你的用戶名 $salenick= '缺水魚兒'; //賣家昵稱 //簽名函數 function createSign ($paramArr) { global $appSecret; $sign = $appSecret; ksort($paramArr); foreach ($paramArr as $key => $val) { if ($key !='' && $val !='') { $sign .= $key.$val; } } $sign = strtoupper(md5($sign)); return $sign; } //組參函數 function createStrParam ($paramArr) { $strParam = ''; foreach ($paramArr as $key => $val) { if ($key != '' && $val !='') { $strParam .= $key.'='.urlencode($val).'&'; } } return $strParam; } //解析xml函數 function getXmlData ($strXml) { $pos = strpos($strXml, 'xml'); if ($pos) { $xmlCode=simplexml_load_string($strXml,'SimpleXMLElement', LIBXML_NOCDATA); $arrayCode=get_object_vars_final($xmlCode); return $arrayCode ; } else { return ''; } } function get_object_vars_final($obj){ if(is_object($obj)){ $obj=get_object_vars($obj); } if(is_array($obj)){ foreach ($obj as $key=>$value){ $obj[$key]=get_object_vars_final($value); } } return $obj; } //參數數組 $paramArr = array( 'app_key' => $appKey, 'method' => 'taobao.shop.get', 'format' => 'xml', 'v' => '1.0', 'timestamp' => date('Y-m-d H:i:s'), 'fields' => 'sid,nick,title', /*想要返回的數據的相應參數,sid對應賣家店鋪id,nick對應賣家昵稱,這裡其實不用返回,因為已經知道了嘛。title對應賣家店鋪標題,也就是店鋪名稱*/ 'nick' => $salenick //賣家昵稱 ); //生成簽名 $sign = createSign($paramArr); //組織參數 $strParam = createStrParam($paramArr); $strParam .= 'sign='.$sign; //訪問服務 $url = 'http://gw.api.taobao.com/router/rest'.$strParam; $result = file_get_contents($url); $result = getXmlData($result); $sid = $result['shop']['sid']; //返回賣家店鋪ID $nick = $result['shop']['nick']; //返回賣家昵稱 $title = $result['shop']['title']; //返回賣家店鋪標題 ?> <php echo '賣家店鋪ID:'.$sid.'<br>';> <!-- 在頁面打印店鋪ID --> <php echo '賣家昵稱:'.$nick.'<br>';> <!-- 在頁面打印賣家昵稱--> <php echo '店鋪標題:'.$title.'<br>';> <!-- 在頁面打印賣家店鋪標題 -->
希望本文所述對大家的php程序設計有所幫助。