Rumah > Artikel > pembangunan bahagian belakang > Gunakan PHP untuk menyambung ke antara muka API Platform Perindustrian JD untuk merealisasikan fungsi pertanyaan harga!
Gunakan PHP untuk menyambung ke antara muka API Platform Perindustrian JD untuk merealisasikan fungsi pertanyaan harga!
Jingdong Industrial Platform (API) ialah satu set antara muka platform terbuka yang disediakan oleh Jingdong Mall untuk peniaga Semasa proses pembangunan, pelbagai fungsi, termasuk pertanyaan harga, boleh dilaksanakan dengan menghubungi antara muka API.
Pertama, anda perlu memohon dan mendapatkan kunci API Platform Perindustrian JD Kunci API mengandungi maklumat penting untuk mengakses antara muka API Platform Perindustrian JD.
Seterusnya, kami menggunakan PHP untuk menulis kod untuk melaksanakan fungsi pertanyaan harga. Pertama, kita perlu menulis kelas untuk mengendalikan permintaan dan parameter API Kodnya adalah seperti berikut:
<?php class JdApi { private $appKey; // 申请的API密钥中的appKey private $appSecret; // 申请的API密钥中的appSecret public function __construct($appKey, $appSecret) { $this->appKey = $appKey; $this->appSecret = $appSecret; } public function getPrice($sku) { $url = 'https://api.jd.com/routerjson'; // API接口地址 $method = 'jingdong.price.read.queryPriceInfo'; // API接口方法名 $timestamp = date('Y-m-d H:i:s'); // 当前时间戳 $params = array( 'app_key' => $this->appKey, 'method' => $method, 'timestamp' => $timestamp, 'v' => '2.0', 'sku' => $sku, 'signMethod' => 'md5', 'format' => 'json', 'sign' => '', ); // 生成签名 $sign = $this->generateSign($params); $params['sign'] = $sign; // 发起API请求 $result = $this->curlPost($url, $params); return $result; } private function generateSign($params) { ksort($params); // 参数按键名排序 $str = $this->appSecret; foreach ($params as $key => $value) { $str .= "$key$value"; } $str .= $this->appSecret; $sign = strtoupper(md5($str)); // 生成大写的md5签名 return $sign; } private function curlPost($url, $params) { // 将参数拼接成GET请求的URL $url .= '?' . http_build_query($params); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_TIMEOUT, 10); $result = curl_exec($ch); curl_close($ch); return $result; } } ?>
Kelas JdApi dalam kod di atas merangkumi kaedah permintaan API dan kaedah pemprosesan parameter. Dalam kaedah getPrice($sku), kami memanggil antara muka pertanyaan harga API. Perlu diingat bahawa $url, $method, dan parameter lain di sini perlu diubah suai mengikut dokumen antara muka API tertentu.
Seterusnya, kami boleh membuat instantiate kelas JdApi di tempat lain dan memanggil kaedah getPrice untuk menanyakan harga Contoh kod adalah seperti berikut:
<?php $appKey = 'your_app_key'; $appSecret = 'your_app_secret'; $jdApi = new JdApi($appKey, $appSecret); $sku = '123456'; // 要查询价格的商品SKU $result = $jdApi->getPrice($sku); // 处理查询结果 $jsonData = json_decode($result, true); if ($jsonData && isset($jsonData['jingdong_price_read_queryPriceInfo_responce']) && isset($jsonData['jingdong_price_read_queryPriceInfo_responce']['result'])) { $price = $jsonData['jingdong_price_read_queryPriceInfo_responce']['result']['price']; echo "价格: $price 元"; } else { echo "查询失败"; } ?>
Ganti $appKey dan $appSecret dalam kod di atas dengan kunci API yang anda mohon. appKey dan appSecret, $sku ialah SKU produk yang harganya ingin anda semak. Hasil pertanyaan mendapatkan harga dengan menghuraikan data JSON dan mengeluarkannya ke halaman.
Melalui contoh kod di atas, kita boleh menggunakan PHP untuk menyambung ke antara muka JD Industrial Platform API untuk melaksanakan fungsi pertanyaan harga. Dalam pembangunan sebenar, kaedah lain juga boleh ditulis mengikut keperluan untuk mencapai lebih banyak fungsi.
Atas ialah kandungan terperinci Gunakan PHP untuk menyambung ke antara muka API Platform Perindustrian JD untuk merealisasikan fungsi pertanyaan harga!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!