最近在开发对接京粉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接口提示参数错误解决方案,希望对你有帮助!