Rumah > pembangunan bahagian belakang > tutorial php > 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!

WBOY
Lepaskan: 2023-07-10 10:04:01
asal
1501 orang telah melayarinya

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;
    }
}
?>
Salin selepas log masuk

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 "查询失败";
}
?>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan