淘宝open平台 C#示例下载下来以后,一执行,果然好用,我兴奋不已,但是我需要真实环境的数据,示例给出的是测试环境的数据,这就需要你申请一个应用了
一.应用申请
申请步骤大家就看淘宝上给出的提示吧:
申请成为开发者:http://wiki.open.taobao.com/index.php/申请一个新应用
申请一个新应用:http://wiki.open.taobao.com/index.php/申请成为开发者
搞定这些以后,应该怎么用,这就是关键了
现在你手里有一个KEY 和一个SECRET,相当于帐户与密码了
下面我们需要获取授权码和SessionKey
获取授权码地址:http://auth.open.taobao.com/?appkey={appkey}
获取SessionKey的容器地址:http://container.open.taobao.com/container?authcode={授权码}
获取SessionKey参照:http://wiki.open.taobao.com/index.php/测试环境客户端应用获取sessionkey
好了,SessionKey搞定了
二.准备开发
万事俱备,只剩开发
我用C#说明
把示例的代码下载下来以后,需要改几个地方,我们就可以在真实环境上开发测试了
string sessionKey = "①";
TopXmlRestClient topClient = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", ”②”,”③”);
①:上面取得的sessionKey
②:appKey
③:appSecret
通过这个topClient我们就可以调用我们想用的函数了
例: ResponseList<TaobaokeItem> rsp = topClient.GetTaobaokeItems(req);
这个函数不需要sessionkey 的
当然调用的时候可能会报出权限不够的错误,这时候你就需要提高你的应用的权限了
不多说,上代码:
一.登录淘宝,获取session
Response.Redirect("http://container.open.taobao.com/container?appkey=这个是你注册应用时得到的addkey");
二.调用接口返回Xml格式数据
//这个是正式环境
TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", "你的addkey", "你的AppSecret");
/// 获取前台展示的店铺内卖家自定义商品类目(taobao.sellercats.list.get)
(1) Taobao.Top.Api.Request.DynamicTopRequest req = new Taobao.Top.Api.Request.DynamicTopRequest("taobao.sellercats.list.get");
req.AddTextParameter("nick", "淘宝卖家昵称");
string rsp = client.GetResponse(req);
Response.Write(rsp);
上面的代码是利用动态参数获取数据(DynamicTopRequest),任何接口都可以使用DynamicTopRequest来设置它的参数;
(2)
ItemsGetRequest req = new ItemsGetRequest();
req.Fields = "title,num,price,cid,seller_cids";
req.PageSize = 100;
string rsp = client.GetResponse(req, SessionKey);
DataSet ds = new DataSet();
ds.ReadXml(new System.IO.StringReader(rsp));
这种方法利用静态参数类设置所需参数(ItemsGetRequest),可以认为他是类型化的参数类,把taobao.sellercats.list.get需要的参数
封装到ItemsGetRequest类中,变成他的属性,所以调用起来较为方便。
说明:在做这些工作之前,你必须已经创建可淘宝top平台应用,对于web程序你还要提供回调地址(http://localhost:2631/TaoBaoTop/Default.aspx这个是我测试用的),而上面的两个步骤恰恰都是在回调的这个页面中写的代码,这样还不够,你还必须下载的sdk 下载地址