博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
淘宝API开发系列---阿里.聚石塔.开放平台的使用
阅读量:7031 次
发布时间:2019-06-28

本文共 4233 字,大约阅读时间需要 14 分钟。

好久没有继续跟进淘宝的API使用了,有很多做相关应用的同行都来咨询,很多都因为自己开发工作比较忙而没有来得及好的处理,前几天,有一个朋友叫帮忙指导如何使用淘宝API,由于原来有一些成熟的例子应用,因此原以为直接运行或者稍微修改一下即可,因此没有太多的注意。

可是,发现淘宝的API应用变化已经很大了,离我最后一篇淘宝API例子的随笔《 》有一年多的时间了,因此重新到里面下载最新的SDK进行更新调整,可是里面很多接口已经有所变化,有些已经在客户端SDK里面不再支持。

首先我们需要申请一个应用

特别的是,现在的淘宝API客户端应用,也只有公司账号才能使用,普通的淘宝用户只能使用Web应用方式,貌似如果不是选择客户端应用,那么使用Winform程序,将不能正确获取相关的API信息。我使用公司账号调整一个应用为客户端应用。

我在我原来例子的基础上,根据最新的SDK进行了修改,有些如不需要SessionKey获取用户信息的接口已经不能使用了,例如客户的买入的订单记录也不能使用了,而且新增了很多相关的接口内容。

为了更好对API的使用,我们需要使用淘宝API的测试工具进行测试相关的接口,如下界面所示。

对于需要获取用户私密信息,如店铺及交易等重要信息,还需要获取用户的SessionKey的,我们可以通过下面接口函数,弹出登录窗口,然后登录后,定位到对应的App应用页面,然后页面加载的时候,获取到对应的SessionKey。

通过上面两个对话框的登录和确认操作,获取到TOP授权码,并根据规则获得SessionKey了,这样一些重要数据就可以通过获取其中的SessionKey进行获取了。

首先我们来看看几个功能模块的界面效果和操作代码。

1)获取登录用户的信息

主要代码如下所示:

if (string.IsNullOrEmpty(sessionKey))            {                sessionKey = GetAuthorizeCode(this.appkey);            }            //用户的信息            Console.WriteLine("用户的信息");            UserSellerGetRequest req = new UserSellerGetRequest(); //实例化具体API对应的Request类            req.Fields = "user_id,nick,created,buyer_credit,type,sex";            UserSellerGetResponse rsp = myclient.Execute(req, sessionKey);//执行API请求并将该类转换为response对象            Console.WriteLine(rsp.Body);            if (rsp.User != null)            {                //Console.WriteLine(rsp.User.Nick);                //Console.WriteLine(ObjectToString(rsp.User));                List
list = new List
(); list.Add(rsp.User); this.winGridView1.DisplayColumns = req.Fields.Replace("_", "");//对应字段的属性没有“_”字符的 this.winGridView1.DataSource = list; }

2)获取单独商品信息

获取单独的产品信息不需要SessionKey,具体代码如下所示。

//单独商品的信息            Console.WriteLine("单独商品的信息");            ItemGetRequest req = new ItemGetRequest();            req.Fields = "num_iid,title,nick,pic_path,cid,price,type,location.city,delist_time,post_fee";            req.NumIid = 10838073156L;//3838293428L;            ItemGetResponse itemRsp = myclient.Execute(req);            if (itemRsp != null && itemRsp.Item != null)            {                List
list = new List
(); list.Add(itemRsp.Item); this.winGridView1.DisplayColumns = req.Fields.Replace("_", "");//对应字段的属性没有“_”字符的 this.winGridView1.DataSource = list; }

3)获取店铺商品列表

开发淘宝应用,很多时候,用于本公司的ERP或者产品管理系统与淘宝店铺的数据同步,因此需要获取自己商店的一些商品数据,然后进行修改更新等操作。获取商品信息主要代码如下所示。

if (string.IsNullOrEmpty(sessionKey))            {                sessionKey = GetAuthorizeCode(this.appkey);            }            //查询店铺商品信息            Console.WriteLine("查询店铺商品信息");            ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest();            req.Fields = "approve_status,num_iid,title,nick,type,cid,pic_url,num,props,valid_thru,list_time,price,has_discount,has_invoice,has_warranty,has_showcase,modified,delist_time,postage_id,seller_cids,outer_id";            req.PageNo = 1;            req.PageSize = 40;            //显示列表信息            ItemsOnsaleGetResponse itemRsp = myclient.Execute(req, sessionKey);            if (itemRsp != null)            {                this.winGridView1.DisplayColumns = req.Fields.Replace("_", "");//对应字段的属性没有“_”字符的                this.winGridView1.DataSource = itemRsp.Items;            }

4)获取店铺卖出交易信息

店铺的卖出交易信息获取的代码如下所示。

if (string.IsNullOrEmpty(sessionKey))            {                sessionKey = GetAuthorizeCode(appkey);            }            //卖出交易            Console.WriteLine("卖出交易");            TradesSoldGetRequest req = new TradesSoldGetRequest();            req.Fields = "tid,title,price,type,num_iid,seller_nick,buyer_nick,status,receiver_state,receiver_city,receiver_district,receiver_address";            req.PageNo = 1L;            req.PageSize = 40L;            TradesSoldGetResponse soldRsp = myclient.Execute(req, sessionKey);            if (soldRsp != null)            {                this.winGridView1.DisplayColumns = req.Fields.Replace("_", "");//对应字段的属性没有“_”字符的                this.winGridView1.DataSource = soldRsp.Trades;            }

以上就是一些基础淘宝API的使用说明,当然,完善的淘宝应用系统客户,可能需要做更多的东西,如商品信息同步、库存同步、自动评价、自动发货等操作,不过基本的操作思路是很接近的,只需要进一步查找淘宝API的使用说明,以及一些经验代码即可。

本文转自博客园伍华聪的博客,原文链接:,如需转载请自行联系原博主。

你可能感兴趣的文章
云中气象 有备而来
查看>>
4.dubbo-demo+简易监控中心安装+管理控制台安装
查看>>
读书笔记《集体智慧编程》Chapter 4 : Searching and Ranking
查看>>
jquery form 插件 分类: JavaScript ...
查看>>
php二维数组访问
查看>>
用Shell实现俄罗斯方块代码(Tetris.sh)
查看>>
[zz]Ubuntu Hadoop HDFS 配置
查看>>
上市后Avaya锣鼓全开,加速战略布局规划
查看>>
日调度5万亿次,腾讯云发布企业级微服务中间件TSF
查看>>
海外侨胞建言四川对外开放:加强内陆省份竞争力成关键
查看>>
2019款奥迪Q7上市 配置增加/69.98万元起售
查看>>
策划求婚、陪挑婚纱,新郎不是我,仍感谢你来过|在百度遇见你
查看>>
从零单排学Redis【铂金一】
查看>>
如何处理Express异常
查看>>
Cycle.js 状态管理模型
查看>>
[译]Effective Kotlin系列之考虑使用原始类型的数组优化性能(五)
查看>>
为什么我从 Google 辞职而为自己工作
查看>>
技术问答集锦(四)
查看>>
针对虚拟机搭建centos7不能上网问题处理方法
查看>>
React 源码分析
查看>>