西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

Aliexpress API 測(cè)試工具

  • Aliexpress API 測(cè)試工具
  • 軟件大小:1.1M
  • 更新時(shí)間:2013-08-30 08:53
  • 軟件語(yǔ)言:中文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 編程輔助
  • 軟件等級(jí):4級(jí)
  • 應(yīng)用平臺(tái):WinAll, WinXP
  • 官方網(wǎng)站:暫無(wú)
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

這個(gè)工具借用了 JsonView 的一個(gè)控件, 從CodePlex 上下來(lái)的JsonView 用的是 Newtonsoft.Json 1.1.1.0 , 但是在 API 內(nèi),我用的是 4.5.0.0 的DLL去解析 API 返回的數(shù)據(jù), 這樣就造成了DLL版本不一致的問(wèn)題. 

要解決這個(gè)問(wèn)題,需要在 APP.config 里加一段:

 1 <configuration>
 2 
 3 <runtime>
 4 
 5 <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 6 
 7 <dependentAssembly>
 8 
 9 <assemblyIdentity name="Newtonsoft.Json"/>
10 
11 <codeBase version="1.1.1.0" href="v1/Newtonsoft.Json_1.dll"/>
12 
13 <codeBase version="4.5.0.0" href="Newtonsoft.Json.dll"/>
14 
15 </dependentAssembly>
16 
17 </assemblyBinding>
18 
19 </runtime>
20 
21 </configuration>

將 1.1.1.0 的 DLL 放到程序目錄下面的 V1 文件夾下, 版本沖突就解決了.

大至的一個(gè)結(jié)構(gòu):

Methods 下的每個(gè)類對(duì)應(yīng) API 里的每個(gè)方法, 大致如下:

 1     public class OrderQueryList : MethodBase<OrderList> {
 2 
 3  
 4 
 5         protected override string APIName {
 6 
 7             get { return "api.findOrderListQuery"; }
 8 
 9         }
10 
11  
12 
13         private int pageSize = 50;
14 
15  
16 
17         [ParamName("pageSize", Required = true)]
18 
19         public int PageSize {
20 
21             get {
22 
23                 return pageSize;
24 
25             }
26 
27             set {
28 
29                 this.pageSize = value < 1 ? 1 : (value > 50 ? 50 : value);
30 
31             }
32 
33         }
34 
35  
36 
37         private int page = 1;
38 
39  
40 
41         [ParamName("page", Required = true)]
42 
43         public int Page {
44 
45             get {
46 
47                 return this.page;
48 
49             }
50 
51             set {
52 
53                 this.page = value < 1 ? 1 : value;
54 
55             }
56 
57         }
58 
59  
60 
61         [ParamName("createDateStart")]
62 
63         [AliDateTimeParamFormatter("MM/dd/yyyy")]
64 
65         public DateTime? CreateBegin { get; set; }
66 
67  
68 
69         [ParamName("createDateEnd")]
70 
71         [AliDateTimeParamFormatter("MM/dd/yyyy")]
72 
73         public DateTime? CreateEnd { get; set; }
74 
75  
76 
77         [ParamName("orderStatus")]
78 
79         public OrderStatus? Status { get; set; }
80 
81     }
82 
83  

帶 ParamName 特性的屬性即API 說(shuō)明列出的 API 方法所需要的參數(shù), 在 MethodBase 里有個(gè)虛方法 Execute 及 GetResult.

 絕大部分API方法不需要重寫這兩個(gè)方法, 但是有兩個(gè)特例(到目前為止,我遇到的): 和上傳圖片有關(guān)的兩個(gè)方法.

http://gw.api.alibaba.com/dev/doc/api.htm?ns=aliexpress.open&n=api.uploadTempImage&v=1

大家可以看看, Ali 的人真是省事, 就幾句話了事. 光憑這幾句話, 打死我也想不出要怎么個(gè)上傳法. 我費(fèi)勁巴啦的耗了幾個(gè)小時(shí)按照網(wǎng)頁(yè)上傳圖片的方法對(duì) RequestHelper 類進(jìn)行修改,然后建個(gè)測(cè)試網(wǎng)站做測(cè)試, 改完后發(fā)現(xiàn)牙的根本就不是這樣上傳的, 結(jié)果死都是500,未找到文件.

后來(lái)在阿里巴巴的論壇里找到了某同志的回貼, 原來(lái)和從網(wǎng)頁(yè)上傳圖片完全不搭調(diào).

 1         [NeedAuth]
 2         public override string GetResult(Auth auth) {
 3             var url = auth.GetApiUrl(this.APIName).SetUrlKeyValue("srcFileName", this.FileName);
 4             using(var client = new WebClient()) {
 5                 try {
 6                     var result = client.UploadData(url, this.UploadData);
 7                     return Encoding.UTF8.GetString(result);
 8                 } catch(WebException ex) {
 9                     return Encoding.UTF8.GetString(ex.Response.GetResponseStream().GetBytes());
10                 }
11             }
12         }

原來(lái)是直接將文件的字節(jié)數(shù)組 Post 到特定格式的網(wǎng)址里, 真的是很暈,我熬夜到3點(diǎn)多,盡然是多此一舉.

另外, 由于精力有限, 目前我只對(duì)照返回結(jié)果寫了幾個(gè)對(duì)應(yīng)的實(shí)體, 其它的沒(méi)有用到的,我不打算寫, 如果各位有興趣的話,可以反編譯一下: AsNum.Aliexpress.API.dll 這個(gè)DLL, 源碼我也不準(zhǔn)備放出, 因?yàn)檎娴氖呛芎?jiǎn)單(只是有些繁瑣而以), 有需要的可以自行反編譯一下.

使用之前需要從菜單里設(shè)置一下 AppKey 和 SecretKey , 當(dāng)然你需要有一個(gè) Aliexpress 的賬戶.

軟件標(biāo)簽: API 測(cè)試

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載