• 大淘客api实现多多进宝的商品查询PHP版


    大家好,我是网创有方,今天教大家如何使用大淘客的api实现拼多多商品详情信息查询。这里用到的多多进宝,如果没有多多进宝的,先去多多进宝注册个账号吧!

    第一步:进入大淘客官方创建应用,并且下载大淘客的sdk

    第二步:将sdk导入到项目中

    第三步:编写验签和查询代码,验签的目的是为了防止恶意注入,来保证请求的合法性。

    代码中进行了2轮查询,为什么要这样操作呢?官方说goosId已经被废弃了,现在采用加密后的goodSign代替,但是goodSign获取方式官方又不说,后面经过网络查询得知可以在第一轮的json返回数据里获取。所以这里就进行了二次请求。把第一轮查询到的goodSign赋值给第二轮查询的参数。

    1. <?php
    2. include 'vendor/autoload.php';
    3. //拼多多商品详情
    4. $host = "https://openapi.dataoke.com/api/dels/pdd/goods/detail";
    5. //默认必传参数
    6. $data = [
    7. 'appKey' =>"你的appKey",
    8. 'version' => 'v2.0.0',
    9. 'goodsSign' =>'',
    10. 'searchId' =>'',
    11. 'goodsImgType'=>'',
    12. 'goodsId'=>'你要查询的商品名称'
    13. ];
    14. //加密的参数
    15. $data['sign'] = makeSign($data,"你的secretKey");
    16. //拼接请求地址
    17. $url = $host . '?' . http_build_query($data);
    18. //执行请求获取数据
    19. $ch = curl_init();
    20. curl_setopt($ch, CURLOPT_URL, $url);
    21. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    22. curl_setopt($ch, CURLOPT_TIMEOUT,3000);
    23. curl_setopt($ch, CURLOPT_HEADER, 0);
    24. $output = curl_exec($ch);
    25. $a = curl_error($ch);
    26. if(!empty($a)){
    27. return json_encode(array('code'=>10003, 'msg'=>$a));
    28. }
    29. // curl_close($ch);
    30. // return $output;
    31. echo($output);
    32. // 使用json_decode函数将JSON字符串解码为PHP对象
    33. $jsonObject = json_decode($output); //将第一次请求返回的json字符串转化为php对象
    34. // 提取name字段的值
    35. $goodsSign = $jsonObject->goodsSign; //提起goodsSign
    36. //开始第二次请求
    37. $data = [
    38. 'appKey' =>"你的appKey",
    39. 'version' => 'v2.0.0',
    40. 'goodsSign' =>$goodsSign,
    41. 'searchId' =>'',
    42. 'goodsImgType'=>'',
    43. 'goodsId'=>'你要查询的商品名称'
    44. ];
    45. //加密的参数
    46. $data['sign'] = makeSign($data,"你的secretKey");
    47. //拼接请求地址
    48. $url = $host . '?' . http_build_query($data);
    49. //执行请求获取数据
    50. $ch = curl_init();
    51. curl_setopt($ch, CURLOPT_URL, $url);
    52. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    53. curl_setopt($ch, CURLOPT_TIMEOUT,3000);
    54. curl_setopt($ch, CURLOPT_HEADER, 0);
    55. $output = curl_exec($ch);
    56. $a = curl_error($ch);
    57. if(!empty($a)){
    58. return json_encode(array('code'=>10003, 'msg'=>$a));
    59. }
    60. function makeSign($data, $appSecret)
    61. {
    62. ksort($data);
    63. $str = '';
    64. foreach ($data as $k => $v) {
    65. $str .= '&' . $k . '=' . $v;
    66. }
    67. $str = trim($str, '&');
    68. $sign = strtoupper(md5($str . '&key=' . $appSecret));
    69. return $sign;
    70. }

    第四步:访问相关网页进行查询

    第五步:对返回的json数据进行数据处理,这里就不说了,大家想怎么处理自己看着办吧

  • 相关阅读:
    一招解决MySql Specified key was too long; max key length is 767 bytes
    MySQL第五讲:工作中常用的sql语句
    【SQL】595. 大的国家
    blender boxCutter插件
    vue修改node_modules打补丁步骤和注意事项
    探秘高逼格艺术二维码的制作过程-AI绘画图生图
    使用香橙派学习 Linux的守护进程
    工程压缩与解压缩
    运算放大器基本放大电路
    【无标题】
  • 原文地址:https://blog.csdn.net/qq_21004057/article/details/140035401