拼多多API封装PHP版SDK

Zero零分 笔记 4,767 0 2年前

拼多多API官网没有PHP版的SDK,自己稍微封装了一下

公共参数:

 
<?php
 
/**
 
*拼多多多多客API封装
 
*官方说明:https://open.pinduoduo.com/#/document
 
*作者:零分
 
*QQ  :87087126
 
*博客://blog.32xp.com
 
*下载://www.32xp.com
 
*传入公共参数POST请求
 
**/
 
class TopClient{
 
public $client_id;         //API  client_id
 
public $client_secret;      //API  client_secret
 
public $access_token;
 
public $data_type="JSON";          //返回格式JSON 或者 XML
 
public $url="https://gw-api.pinduoduo.com/api/router"; //API POST URL
 
public function execute($req){
 
$param=$req->apiParas;
 
$param["client_id"]=$this->client_id;
 
$param["data_type"]=$this->data_type;
 
$param["timestamp"]=time();
 
if(isset($this->access_token)) $param["access_token"]=$this->access_token;
 
ksort($param);
 
$str = '';
 
foreach ($param as $k => $v) $str .= $k . $v;
 
$sign = strtoupper(md5($this->client_secret. $str . $this->client_secret));
 
$param["sign"] = $sign;
 
$url=$this->url;
 
return $this->curl_post($url, $param);
 
}
 
 
 
function curl_post($url, $postdata)
 
{
 
    $curl = curl_init();
 
    //设置抓取的url
 
    curl_setopt($curl, CURLOPT_URL, $url);
 
    //设置头文件的信息作为数据流输出
 
    curl_setopt($curl, CURLOPT_HEADER, false);
 
    //设置获取的信息以文件流的形式返回,而不是直接输出。
 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
 
//设置超时
 
curl_setopt($curl, CURLOPT_TIMEOUT, 60);
 
//设置不判断https证书
 
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
 
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
 
    //设置post方式提交
 
    curl_setopt($curl, CURLOPT_POST, 1);
 
    //设置post数据
 
    curl_setopt($curl, CURLOPT_POSTFIELDS, $postdata);
 
    //执行命令
 
    $data = curl_exec($curl);
 
    //关闭URL请求
 
    curl_close($curl);
 
    //显示获得的数据
 
    return $data;
 
}
 
}
 
?>
 
 

API接口封装:

<?php
 
/**
 
*拼多多多多客API封装
 
*官方说明:https://open.pinduoduo.com/#/document
 
*作者:零分
 
*QQ  :87087126
 
*博客://blog.32xp.com
 
*下载://www.32xp.com
 
*官方API名:pdd.goods.opt.get(查询商品标签列表)
 
*官方API说明:https://open.pinduoduo.com/#/apidocument/port?id=pdd.goods.opt.get
 
**/
 
class PddGoodsOptGet{
 
    public $type="pdd.goods.opt.get";              //API接口名称
 
public $parent_opt_id;                         //必填,值=0时为顶点opt_id,通过树顶级节点获取opt树;
 
    public $apiParas=array();
 
public function __construct($type=""){
 
$this->apiParas["type"]=$this->type;
 
    }
 
public function SetParentOptId($parent_opt_id){
 
$this->parent_opt_id=$parent_opt_id;
 
$this->apiParas["parent_opt_id"]=$parent_opt_id;
 
    }
 
}
 
?>
 

调用:

$c = new TopClient;
$c->client_id="";
$c->client_secret="";
$req= new PddGoodsOptGet;
$req->SetParentOptId("0");
print_r($c->execute($req));
发布:2019-05-04 21:16:22
标签:
链接:https://blog.32xp.com/pinduoduo-api-php-sdk.html
END

封装了几个PHP版拼多多的API

拼多多API的SDK目前就只有JAVA版,其他版本的API需要自行封装(参考:拼多多API封装PHP版SDK) 闲来无事,在wordpress文章页中调用了一下API(参考:wordpress文章内页添加可选广告) 拼多多搜索API结果中并没有链接,需要取商品ID,通过商品ID获取推广链接,因拼多多PC端实在不好操作,判断PC时,弹出二维码,二维码通过以前的PHPQRcode的API调用(参考:wordpress在插入动态二维码) 在wordpress文章内调用效果: 拼多多也陆续开始做品质了,微信上,链接,小程序,都可以直接打开!
随笔 ·

win10设置自动登陆netplwiz没有要使用本计算机,用户必须输入用户名和密码

正常win10设置自动登陆,在命令行输入“netplwiz”,取消“要使用本计算机,用户必须输入用户名和密码”前的勾选选项就可以了 命令行:点击开始菜单–Windows系统–命令提示符netplwiz,输入,或者快捷键win+R,运行内直接输入netplwiz 而很多情况,会遇到没有“要使用本计算机,用户必须输入用户名和密码”选项 修改注册表调出“要使用本计算机,用户必须输入用户名和密码”选项 注册表命令:regedit,删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess 或者修改HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device下的DevicePasswordLessBuildVersion值为0 这样,重新打开用户账户,“要使用本计算机,用户必须输入用户名和密码”选项,回来了  
笔记 ·

css动画animation

使用简写属性,将动画与 div 元素绑定: div { animation:mymove 5s infinite; -webkit-animation:mymove 5s infinite; /* Safari 和 Chrome */ } @keyframes mymove { from {left:0px;} to {left:200px;} } 简单例子, 1、一直循环旋转 @keyframes xz { from {transform:rotate(0deg);} to {transform:rotate(360deg);} } .div{ width:128px; height:128px; animation:xz 2s linear 0s infinite normal; } 2、鼠标经过一直旋转 .div2,.div4{ width:128px; height:128px; } animation属性; animation: name duration timing-function delay iteration-count direction; animation-name 规定需要绑定到选择器的 keyframe 名称。。 animation-duration 规定完成动画所花费的时间,以秒或毫秒计。 animation-timing-function 规定动画的速度曲线。 animation-delay 规定在动画开始之前的延迟。 animation-iteration-count 规定动画应该播放的次数。 animation-direction 规定是否应该轮流反向播放动画。 演示:CSS动画部分演示
笔记 ·

WordPress获取文章全部图片并计算图片数量

WordPress获取文章所有图片 //获取文章所有图片 function post_imgs(){ global $post, $posts; $post_img = ''; ob_start(); ob_end_clean(); $pattern="/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/"; preg_match_all($pattern, $post->post_content, $matches); if(!empty($matches[1])){ $imgs = str_ireplace('//','//',$matches[1]); return $imgs; } return false; } 返回图片是一个数组,调用方式 foreach(post_imgs() as $img){ echo '<img src="'.$img.'">'; } 计算图片数量 count(post_imgs());
笔记 ·

自适应调试手机端(无线端)网页样式布局的方法

自适应手机端样式调试方式: 1、调整浏览器大小(不推荐,通过CSS布局无线端自适应) 2、下载相关工具,如微信公众号开发工具 3、审查浏览器,切换到手机(推荐) 首先右键网页(检查或者审查元素,快捷键F12),点亮手机图标 点亮后  
笔记 ·
Zero零分
站龄14年资深站长
一个喜欢折腾,却又折腾不出像样东西的,不会PHP的PHP程序员!
458
文章
28
评论
27
分类
810
标签
7
友链
onlinelovesky 317355746 122551965@qq.com

百度广告