淘宝API开发系列---阿里.聚石塔.开放平台的使用
好久没有继续跟进淘宝的API使用了,有很多做相关应用的同行都来咨询,很多都因为自己开发工作比较忙而没有来得及好的处理,前几天,有一个朋友叫帮忙指导如何使用淘宝API,由于原来有一些成熟的例子应用,因此原以为直接运行或者稍微修改一下即可,因此没有太多的注意。
可是,发现淘宝的API应用变化已经很大了,离我最后一篇淘宝API例子的随笔《淘宝API开发系列---淘宝API的测试及使用2 》有一年多的时间了,因此重新到http://api.taobao.com/myresources/standardSdk.htm里面下载最新的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<User> list = new List<User>();
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<Item> list = new List<Item>();
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 = ;
req.PageSize = ; //显示列表信息
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的使用说明,以及一些经验代码即可。
淘宝API开发系列---阿里.聚石塔.开放平台的使用的更多相关文章
- 淘宝API开发第一步
1.登录淘宝开放平台:http://open.taobao.com/ 2.添加网站 (验证完网站后,会提醒“JSSDK以激活提交审核按钮”,这个需要的UV达100,按钮才会亮,审核过程中也得保持UV的 ...
- 淘宝API开发(三)
自动登录到淘宝定时获取订单: C#控制台程序 第一步,获得淘宝真实登录地址.淘宝授权地址(https://oauth.taobao.com/authorize?response_type=token& ...
- 淘宝api 开发_获取用户信息
string url = "http://gw.api.taobao.com/router/rest"; "; string appsecret = "fdf7 ...
- 淘宝API学习之道:淘宝API相关了解
淘宝API开发平台,经过两年多的升级一系列动作,提供的api接口日渐稳定.看到淘宝api开发的浏览量还是较大,但那会写的DEMO如今已不能执行,淘宝改了链接地址,改了加密算法,为了不让大家浪费时间,特 ...
- taobao_api项目开坑,自主完成淘宝主要接口的开发-版本:卖家版(非淘宝api)
项目名称:taobao_api 项目目的:独立实现各个淘宝操作的相关api,不依赖淘宝提供的api,而是自己实现接口 前期实现接口:已付款订单查询(自动更新), 订单发货 , 订单备注 应用场景:中小 ...
- PHP学习笔记13淘宝接口开发一例(tmall.items.discount.search),PHP
程序设计,因为接口是有请求次数限制的,正式接口也只有2W次每天的请求次数,所以我们需要把从接口返回的数据缓存起来. 采用的接口是http://api.taobao.com/apidoc/api.htm ...
- 循序渐进学.Net Core Web Api开发系列【16】:应用安全续-加密与解密
系列目录 循序渐进学.Net Core Web Api开发系列目录 本系列涉及到的源码下载地址:https://github.com/seabluescn/Blog_WebApi 一.概述 应用安全除 ...
- C#设计模式总结 C#设计模式(22)——访问者模式(Vistor Pattern) C#设计模式总结 .NET Core launch.json 简介 利用Bootstrap Paginator插件和knockout.js完成分页功能 图片在线裁剪和图片上传总结 循序渐进学.Net Core Web Api开发系列【2】:利用Swagger调试WebApi
C#设计模式总结 一. 设计原则 使用设计模式的根本原因是适应变化,提高代码复用率,使软件更具有可维护性和可扩展性.并且,在进行设计的时候,也需要遵循以下几个原则:单一职责原则.开放封闭原则.里氏代替 ...
- 淘宝API学习之道:淘宝TOP之API接口接入教程
作为一个中小型站点开发人员,淘宝API的开放大大缩短了站点的开发周期和运作效率.面对海量的数据.开发人员仅仅要细致阅读开发文档,熟悉对应的接口,就能够把数据导入自己的站点,这样就不必望洋兴叹了. 眼下 ...
随机推荐
- 更改ubuntu mysql data目录位置
很多时候,mysql的数据会非常大,数据默认放在/var/lib/mysql,由于/var所划分的空间不够大,所以我们需要将mysql数据存放路径修改一下,放到大分区里面,以便可以应付mysql数据增 ...
- requirejs、backbone.js配置
requirejs初探 参考资料官网:http://requirejs.org中文译文:http://makingmobile.org/docs/tools/requirejs-api-zh reuq ...
- LeetCode: Convert Sorted List to Binary Search Tree 解题报告
Convert Sorted List to Binary Search Tree Given a singly linked list where elements are sorted in as ...
- 写给已有编程经验的 Python 初学者的总结【转】
当我开始学习Python的时候,有些事我希望我一早就知道.我花费了很多时间才学会这些东西.我想要把这些重点都编纂到一篇文章当中.这篇文章的目标读者,是刚刚开始学习Python语言的有经验的程序员,想要 ...
- 飞思卡尔9S12X系列双核中的协处理器XGATE使用方法
http://adi.chinaaet.com/analog/blogdetail/24482.html
- A little problem for pt-pmp
https://bugs.launchpad.net/percona-toolkit/+bug/1320168 We use the pt-pmp (a variety for pmp !http:/ ...
- css3实现进度条的模拟
两种进度条动画的实现: 1.css3,但IE9-不支持. 2.js动画,兼容性好,但没有css3实现的顺畅 Demo: <html> <head> < ...
- mac 自动配置java版本
首先输入命令:vi .bash_profile ,添加如下内容: # Mac默认 JDK (Mac默认自带了一个jdk6版本) export JAVA_6_HOME=`/usr/libexec/jav ...
- 云极知客开放平台接口调用方法(C#)
云极知客为企业提供基于SAAS的智能问答服务.支持企业个性化知识库的快速导入,借助语义模型的理解和分析,使企业客户立即就拥有本行业的24小时客服小专家.其SAAS模式实现零成本投入下的实时客服数据的可 ...
- c/c++:动态库 静态库 linux/windows 例子 (转)
作者:吴秦出处:http://www.cnblogs.com/skynet/本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名吴秦(包含链接). C++静 ...