前几天,公司的ERP要实现这样一个功能:在ERP里根据单品的库存量多少自动在1688上生成采购订单,这就用到了1688开放平台的API,我是Net语言,还是有几个坑的,所以写下这篇文章,希望给其他Net程序员帮助。
没有Bug的SDK不是好SDK,没有坑的平台不是好平台。我接触过的开放平台,至少也有10+了,每个SDK或多或少都有问题。即使如BAT这样的大厂。而且最奇葩的是,他们早就知道有问题,但就是不改。
好了,回归正题。要使用1688的API,就需要先注册一个帐号,申请App应用。这里就有一个坑,创建应用时要选择类目,等创建完你会发现一直在审核。。。后来问了客服,说这个类目已经停止申请了。好吧,换个类目再申请,又说采购额没达到。。。总之,你不问客服的话,想创建成功几乎不可能。
等应用创建成功,有AppKey和Secret了,终于可以开发了。先下载他们的SDK,调用取Refresh和Access令牌的时候,你会发现Url的前缀不对。有的地址上param2,有的是http,SDK只提供了一种。这里建议自己封装一个方法,如下图所示。还是简单的。这个坑也填上了。
这个坑也很意外,就是我传入的业务参数,居然没有拼进去。参数分为应用级别和业务级别,SDK只拼入的应用级别。。。解决办法如下。后来我问阿里的技术支持,其实他们早就知道有这个问题,但就是没解决。奇葩不?
目前已经开发出一套Net版本的SDK,只需知道AppKey和Secret即可开发
文章评论