京东联盟C#接口测试示例分享

所属分类: 软件编程 / C#教程 阅读数: 54
收藏 0 赞 0 分享

京东联盟C#接口的下载地址为: http://jos.jd.com/doc/channel.htm?id=285

下载后,默认是一个控制台程序,核心库和demo程序在一个项目中。这里我把核心库独立成了Dll项目。

接口使用流程是,初始化DefaultJdClient类,然后调用需要的接口类,传入参数,执行获取返回结果。

注意,使用前请先修改bin目录下的config.json文件,配置appkey等信息,格式如下:

{
 "appkey":"11111",
 "appsecret":"2222",
 "token":"234345",
 "webid":"2234234",
 "unionid":"567567"
}

1)初始化

IJdClient client = null;
private void init_JDClient()
{
  string url = "https://api.jd.com/routerjson";
  this.client = new DefaultJdClient(url, dic["appkey"].ToString(), dic["appsecret"].ToString());
}

其中dic是一个Dictionary类型,保存了appkey等配置信息。

2)获取商品基本信息接口调用

private string request_goodsInfo()
{
 ServicePromotionGoodsInfoRequest req = new ServicePromotionGoodsInfoRequest();
 req.skuIds = txtGoodsID.Text;//商品ID值
 ServicePromotionGoodsInfoResponse response = client.Execute(req, dic["token"], DateTime.Now.ToLocalTime());
 return response.Body;
}

其中dic[‘token']是读取字典中的token值,skuIds属性是商品的ID值,这里Demo中用TextBox输入。

3)获取商品返现链接的接口调用

private string request_goodsRateUrl()
{
 ServicePromotionGetcodeRequest req = new ServicePromotionGetcodeRequest();

 req.promotionType = 7;
 req.materialId = "http://item.jd.com/"+txtGoodsID.Text+".html";//注意,这里是商品的落地页面,即实际链接
 req.unionId = long.Parse(dic["unionid"].ToString());//联盟ID
 req.channel = "PC";//PC电脑端,如果是手机端就是WL
 req.webId = dic["webid"].ToString();//网站ID
 //req.extendId = "jingdong"; 
 //req.ext1 = "jingdong"; 
 //req.adttype = "6";
 //req.protocol = 0;//1为https,其他为http
 //req.pid = "jingdong";

 ServicePromotionGetcodeResponse response = client.Execute(req, dic["token"], DateTime.Now.ToLocalTime());
 return response.Body;
}

其中的materialID、unionId、webId是需要修改的,materialId是商品的实际页面。

4)解析返回的数据

返回的数据是json格式的,所以需要引入C# JSON库: Newtonsoft.Json

处理商品返现地址:

string urlinfo = request_goodsRateUrl();
string url = "";
JObject obj = JObject.Parse(urlinfo);
string queryjs_result = (string)obj["jingdong_service_promotion_getcode_responce"]["queryjs_result"];
obj = JObject.Parse(queryjs_result);
if ((int)obj["resultCode"] == 0)
{
 url = (string)obj["url"];
 MessageBox.Show("返现地址:"+url);
}

处理商品基本信息:

string goodsinfo = request_goodsInfo();
JObject obj = JObject.Parse(goodsinfo);
string getpromotioninfo_result = (string)obj["jingdong_service_promotion_goodsInfo_responce"]["getpromotioninfo_result"];
obj = JObject.Parse(getpromotioninfo_result);
if ((bool)obj["sucessed"])
{
 obj = (JObject)obj["result"][0];
 dataGridView1.Rows.Add(new object[] { "商品名称", (string)obj["goodsName"] });
 dataGridView1.Rows.Add(new object[] { "商品编号", (string)obj["skuId"] });
 dataGridView1.Rows.Add(new object[] { "PC比率", (string)obj["commisionRatioPc"]+"%" });
 dataGridView1.Rows.Add(new object[] { "WL比率", (string)obj["commisionRatioWl"]+"%" });
 dataGridView1.Rows.Add(new object[] { "PC价格", "¥"+(string)obj["unitPrice"] });
 dataGridView1.Rows.Add(new object[] { "WL价格", "¥"+(string)obj["wlUnitPrice"] });
 WebRequest webreq = WebRequest.Create((string)obj["imgUrl"]);
 WebResponse webres = webreq.GetResponse();
 using(Stream stream = webres.GetResponseStream())
 {
  pictureBox1.Image = Image.FromStream(stream);
  pictureBox1.Tag = url;
 }
}

这里使用DataGridView显示商品基本信息,图片使用PictureBox显示。

5)Demo预览

6)文件下载

jos-sdk-net-include-demo

更多精彩内容其他人还在看

C#中Datetimepicker出现问题的解决方法

这篇文章主要给大家介绍了关于C#中Datetimepicker出现问题的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C# SQLite数据库入门使用说明

这篇文章主要给大家介绍了关于C#中SQLite数据库入门使用的相关资料,文中通过图文以及示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#实现批量下载图片到本地示例代码

这篇文章主要给大家介绍了关于C#如何实现批量下载图片到本地的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用c#具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

如何获取C#中方法的执行时间以及其代码注入详解

这篇文章主要给大家介绍了关于如何获取C#中方法的执行时间以及其代码注入的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起看看吧
收藏 0 赞 0 分享

C#中通过LRU实现通用高效的超时连接探测

这篇文章主要介绍了c#中通过LRU实现通用高效的超时连接探测,非常不错,具有一定的参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

如何使用C#将Tensorflow训练的.pb文件用在生产环境详解

这篇文章主要给大家介绍了关于如何使用C#将Tensorflow训练的.pb文件用在生产环境的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#程序启动项的设置方法

这篇文章主要为大家详细介绍了C#程序启动项的设置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

c#爬虫爬取京东的商品信息

这篇文章主要给大家介绍了关于利用c#爬虫爬取京东商品信息的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们随着小编来一起学习学习吧
收藏 0 赞 0 分享

C#随机数生成字母金字塔

这篇文章主要为大家详细介绍了C#随机数生成字母金字塔,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

WPF实现窗体中的悬浮按钮

这篇文章主要为大家详细介绍了WPF实现窗体中的悬浮按钮,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享
查看更多