[扩展分享] 拼多多 API SDK [拼多多开放平台]

拼多多API SDK【拼多多开放平台】

[扩展分享] 拼多多 API SDK [拼多多开放平台]

要求

  1. PHP >= 7.0
  2. Composer
  3. ext-curl 拓展
  4. ext-json 拓展

安装

composer require justmd5/pinduoduo-sdk

使用


    use \Justmd5\PinDuoDuo\PinDuoDuo;

    require __DIR__ . '/vendor/autoload.php';
    $config = [
        'client_id'    => 'xxxxxx69e3940c6b93xxxxxx',
        'client_secret' => 'c2eda0c398xxxxxxbd63ff57bf22c05xxxxxx',
        'debug'              => true,
        'member_type'        => 'JINBAO',//用户角色 :MERCHANT(商家授权),H5(移动端),多多客(JINBAO),
        'redirect_uri'       => 'https://test.xxx.com/callback',
        'log'                => [
            'name'       => 'pinduoduo',
            'file'       => __DIR__ . '/pinduoduo.log',
            'level'      => 'debug',
            'permission' => 0777,
        ],
    ];
    $pinduoduo = new PinDuoDuo($config);

调用示例

因目前我只有多多客角色账号,所以示例以多多客接口为例,其他两种角色理论相同,请自行尝试

调用无需授权接口示例

多多进宝商品详情查询 pdd.ddk.goods.detail

    $result   = $pinduoduo->api->request('pdd.ddk.goods.detail', ['goods_id_list' => ['395581006']]);

调用需授权接口示例

  • 获取授权 URL
$url = $pinduoduo->pre_auth->authorizationUrl();
  • 重定向到授权页面
    $pinduoduo->pre_auth->authorizationRedirect();
  • 在重定向页面,你可以获取此次授权账号的 token
    $token = $pinduoduo->pre_auth->getAccessToken();
    //也可以通过上面得到的 refresh_token 去刷新令牌
    //$token = $pinduoduo->pre_auth->refreshToken($token['refresh_token']);

获取当前账号下有多少推广位 pdd.ddk.oauth.goods.pid.query

    $result   = $pinduoduo->auth_api->request('pdd.ddk.oauth.goods.pid.query');

文档

拼多多开放平台 · 官方文档

感谢

License

附上仓库地址
MIT

FOSSA Status

放个公众号【公众号名称:八阿哥】二维码,求扫:

【扩展分享】拼多多 API SDK【拼多多开放平台】

本作品采用《CC 协议》,转载必须注明作者和本文链接
:point_right:github&博客:point_left:
本帖由系统于 4年前 自动加精
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 10

轮子造挺久了,欢迎大家使用

4年前 评论

不错,文档再详细点就好了

4年前 评论
justmd5 (楼主) 4年前

你这个access_token缓存机制存在问题,对于每个店铺通过code获取得token都是不一致的,你这个缓存key是固定的,导致所有店铺用的token都是一样的

4年前 评论
justmd5 (楼主) 4年前

我为什么用官方的授权工具测试提示我【当前账号不在可授权名单中,请联系应用服务商处理】,这个什么意思啊

4年前 评论
justmd5 (楼主) 4年前
justmd5 (楼主) 4年前

有没有淘宝联盟和京东联盟 :see_no_evil:

4年前 评论
justmd5 (楼主) 4年前

array(1) {
["error_response"]=>
array(5) {
["error_msg"]=>
string(31) "公共参数错误:access_token"
["sub_msg"]=>
string(31) "公共参数错误:access_token"
["sub_code"]=>
string(5) "10001"
["error_code"]=>
int(10001)
["request_id"]=>
string(17) "15761370954092783"
}
}

我这边报这个错不会搞了大佬看到能告诉一下什么问题吗

4年前 评论

使用报错,Argument 1 passed to Hanson\Foundation\Http::__construct() must be an instance of Hanson\Foundation\Foundation, null given, called in D:\wamp64\www\octopus\vendor\hanson\foundation-sdk\src\AbstractAPI.php

3年前 评论
justmd5 (楼主) 3年前
justmd5 (楼主) 3年前

file 我的也是使用报错,Argument 1 passed to Hanson\Foundation\Http::__construct () must be an instance of Hanson\Foundation\Foundation, null given, called in D:\wamp64\www\octopus\vendor\hanson\foundation-sdk\src\AbstractAPI.php

3年前 评论
justmd5 (楼主) 3年前

致命错误: Cannot call constructor

/**
 * @var pinduoduo
 */
protected $pinduoduo;
protected $needToken;

public function __construct(PinDuoDuo $pinduoduo, $needToken = false)
{
    parent::__construct($pinduoduo);
    $this->pinduoduo = $pinduoduo;
    $this->needToken = $needToken;
}

/**
 * @param $params
 *
 * @return string
 */
3年前 评论
justmd5 (楼主) 3年前
xingchenboy 2年前

file file file

版主你好,“致命错误: Cannot call constructor”出现的原因是引入的『hanson/foundation-sdk』包的版本应该限定在4.0.2以内。。

2年前 评论
justmd5 (楼主) 2年前
justmd5 (楼主) 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!