大家好,我是網創有方,今天教大家如何使用大淘客的api實現拼多多商品詳情信息查詢。這里用到的多多進寶,如果沒有多多進寶的,先去多多進寶注冊個賬號吧!
第一步:進入大淘客官方創建應用,并且下載大淘客的sdk
第二步:將sdk導入到項目中
第三步:編寫驗簽和查詢代碼,驗簽的目的是為了防止惡意注入,來保證請求的合法性。
代碼中進行了2輪查詢,為什么要這樣操作呢?官方說goosId已經被廢棄了,現在采用加密后的goodSign代替,但是goodSign獲取方式官方又不說,后面經過網絡查詢得知可以在第一輪的json返回數據里獲取。所以這里就進行了二次請求。把第一輪查詢到的goodSign賦值給第二輪查詢的參數。
<?phpinclude 'vendor/autoload.php';//拼多多商品詳情$host = "https://openapi.dataoke.com/api/dels/pdd/goods/detail";//默認必傳參數$data = ['appKey' =>"你的appKey",'version' => 'v2.0.0','goodsSign' =>'','searchId' =>'','goodsImgType'=>'','goodsId'=>'你要查詢的商品名稱'];//加密的參數$data['sign'] = makeSign($data,"你的secretKey");//拼接請求地址$url = $host . '?' . http_build_query($data);//執行請求獲取數據$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT,3000);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);$a = curl_error($ch);if(!empty($a)){return json_encode(array('code'=>10003, 'msg'=>$a));}// curl_close($ch);// return $output;echo($output);// 使用json_decode函數將JSON字符串解碼為PHP對象 $jsonObject = json_decode($output); //將第一次請求返回的json字符串轉化為php對象// 提取name字段的值 $goodsSign = $jsonObject->goodsSign; //提起goodsSign//開始第二次請求$data = ['appKey' =>"你的appKey",'version' => 'v2.0.0','goodsSign' =>$goodsSign,'searchId' =>'','goodsImgType'=>'','goodsId'=>'你要查詢的商品名稱'];//加密的參數$data['sign'] = makeSign($data,"你的secretKey");//拼接請求地址$url = $host . '?' . http_build_query($data);//執行請求獲取數據$ch = curl_init();curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_TIMEOUT,3000);curl_setopt($ch, CURLOPT_HEADER, 0);$output = curl_exec($ch);$a = curl_error($ch);if(!empty($a)){return json_encode(array('code'=>10003, 'msg'=>$a));}function makeSign($data, $appSecret)
{ksort($data);$str = '';foreach ($data as $k => $v) {$str .= '&' . $k . '=' . $v;}$str = trim($str, '&');$sign = strtoupper(md5($str . '&key=' . $appSecret));return $sign;
}
第四步:訪問相關網頁進行查詢
第五步:對返回的json數據進行數據處理,這里就不說了,大家想怎么處理自己看著辦吧