欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

京東聯(lián)盟C#接口測試示例分享

 更新時(shí)間:2017年12月29日 08:48:58   作者:coderecord  
這篇文章主要介紹了京東聯(lián)盟C#接口測試示例分享的相關(guān)資料,需要的朋友可以參考下

京東聯(lián)盟C#接口的下載地址為: http://jos.jd.com/doc/channel.htm?id=285

下載后,默認(rèn)是一個(gè)控制臺(tái)程序,核心庫和demo程序在一個(gè)項(xiàng)目中。這里我把核心庫獨(dú)立成了Dll項(xiàng)目。

接口使用流程是,初始化DefaultJdClient類,然后調(diào)用需要的接口類,傳入?yún)?shù),執(zhí)行獲取返回結(jié)果。

注意,使用前請先修改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是一個(gè)Dictionary類型,保存了appkey等配置信息。

2)獲取商品基本信息接口調(diào)用

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)獲取商品返現(xiàn)鏈接的接口調(diào)用

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

 req.promotionType = 7;
 req.materialId = "http://item.jd.com/"+txtGoodsID.Text+".html";//注意,這里是商品的落地頁面,即實(shí)際鏈接
 req.unionId = long.Parse(dic["unionid"].ToString());//聯(lián)盟ID
 req.channel = "PC";//PC電腦端,如果是手機(jī)端就是WL
 req.webId = dic["webid"].ToString();//網(wǎng)站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是商品的實(shí)際頁面。

4)解析返回的數(shù)據(jù)

返回的數(shù)據(jù)是json格式的,所以需要引入C# JSON庫: Newtonsoft.Json

處理商品返現(xiàn)地址:

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("返現(xiàn)地址:"+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[] { "商品編號(hào)", (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價(jià)格", "¥"+(string)obj["unitPrice"] });
 dataGridView1.Rows.Add(new object[] { "WL價(jià)格", "¥"+(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預(yù)覽

6)文件下載

jos-sdk-net-include-demo

相關(guān)文章

  • ListView Adapter優(yōu)化 實(shí)例

    ListView Adapter優(yōu)化 實(shí)例

    ListView Adapter優(yōu)化 實(shí)例,需要的朋友可以參考一下
    2013-04-04
  • Unity實(shí)現(xiàn)鼠標(biāo)雙擊與長按的檢測

    Unity實(shí)現(xiàn)鼠標(biāo)雙擊與長按的檢測

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)鼠標(biāo)雙擊與長按的檢測,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • 關(guān)于C#中使用Oracle存儲(chǔ)過程返回結(jié)果集的問題

    關(guān)于C#中使用Oracle存儲(chǔ)過程返回結(jié)果集的問題

    Oracle中可以使用游標(biāo)(Cursor)對(duì)數(shù)據(jù)集進(jìn)行操作,但在存儲(chǔ)過程輸出參數(shù)中直接使用Cursor錯(cuò)誤,下面小編給大家?guī)砹薈#中使用Oracle存儲(chǔ)過程返回結(jié)果集的問題,感興趣的朋友一起看看吧
    2021-10-10
  • C#復(fù)雜XML反序列化為實(shí)體對(duì)象兩種方式小結(jié)

    C#復(fù)雜XML反序列化為實(shí)體對(duì)象兩種方式小結(jié)

    本文主要介紹了C#復(fù)雜XML反序列化為實(shí)體對(duì)象兩種方式,主要介紹如何把通過接口獲取到的Xml數(shù)據(jù)轉(zhuǎn)換成(反序列化)我們想要的實(shí)體對(duì)象,感興趣的可以一起來了解一下
    2022-04-04
  • c#中設(shè)置快捷鍵

    c#中設(shè)置快捷鍵

    c#中設(shè)置快捷鍵...
    2007-03-03
  • C# List<T>的用法小結(jié)

    C# List<T>的用法小結(jié)

    本篇文章主要是對(duì)C#中List<T>的用法進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助
    2014-01-01
  • 一個(gè)進(jìn)程間通訊同步的C#框架引薦

    一個(gè)進(jìn)程間通訊同步的C#框架引薦

    這篇文章主要介紹了一個(gè)進(jìn)程間通訊同步的C#框架,代碼具有相當(dāng)?shù)姆€(wěn)定性和可維護(hù)性,隨著.NET的開源也會(huì)被注入更多活力,推薦!需要的朋友可以參考下
    2015-07-07
  • c# 三種方法調(diào)用WebService接口

    c# 三種方法調(diào)用WebService接口

    這篇文章主要介紹了c# 三種方法調(diào)用WebService接口的相關(guān)資料,文中示例代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • C# log4net日志庫的用法小結(jié)

    C# log4net日志庫的用法小結(jié)

    log4net日志開源庫是用來控制日志文件大小,日志文件個(gè)數(shù),滾動(dòng)式覆蓋,自由控制日志打印等級(jí),今天通過本文給大家介紹C# log4net日志庫的用法小結(jié),感興趣的朋友一起看看吧
    2021-10-10
  • C#中常用的正則表達(dá)式

    C#中常用的正則表達(dá)式

    本文主要介紹了C#中常用的正則表達(dá)式。具有一定的參考價(jià)值,下面跟著小編一起來看下吧
    2017-01-01

最新評(píng)論