php京东联盟转链API接口提示参数错误解决方案

Web前端 潘老师 5个月前 (01-07) 334 ℃ (0) 扫码查看
文章目录展开

最近在开发对接京粉api的插件,方便淘客商品推广,在测试了下京东联盟的API时候,按照官方文档说明导入SDK后,在按照官方文档说明调用jd.union.open.promotion.common.get网站/APP转链接口时,提示错误码400参数错误。原因就在于官方文档有坑,不能按照官方文档案例代码去写!

错误说明

我们先看下官方文档php案例代码说明:

$c = new JdClient();
$c->appKey = appKey;
$c->appSecret = appSecret;
$c->accessToken = accessToken;
$c->serverUrl = SERVER_URL;
$req = new UnionOpenPromotionCommonGetRequest();
$promotionCodeReq= new PromotionCodeReq;
$req->setPromotionCodeReq($promotionCodeReq);
$req->setVersion("1.0");
$resp = $c->execute($req, $c->accessToken);

修改下,像access_token,serverUrl、version等不需要就删除!调整完后就是

$c = new JdClient();
$c->appKey = APP_KEY;
$c->appSecret = APP_SECRET;
$req = new UnionOpenPromotionCommonGetRequest();
$promotionCodeReq = new PromotionCodeReq();
$promotionCodeReq->setMaterialId($materialId);
$promotionCodeReq->setSiteId($siteId);
$req->setPromotionCodeReq($promotionCodeReq);
$resp = $c->execute($req);

结果发现,在调用后报错,提示错误代码400参数错误,类似如下图

解决办法

这里就是api文档的坑,我们尝试直接接入参数,不用PromotionCodeReq类,修改代码如下:

$c = new JdClient();
$c->appKey = APP_KEY;
$c->appSecret = APP_SECRET;
$req = new UnionOpenPromotionCommonGetRequest();
$promotionCodeReq = array();
$promotionCodeReq['materialId']=$materialId;
$promotionCodeReq['siteId']=$siteId;
$req->setPromotionCodeReq($promotionCodeReq);
$resp = $c->execute($req);

最后再去测试,发现终于调试成功,被官方的错误示例折腾了好久,京粉官方赶紧长点心吧,太误导我们开发者了。以上就是php京东联盟转链API接口提示参数错误解决方案,希望对你有帮助!


版权声明:本站所有文章,如无特殊说明,均为本站原创。转载请务必注明文章来源,谢谢支持。
本文链接:https://www.panziye.com/java/web/5798.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】