您的位置:首页 > Web前端 > JavaScript

淘宝开放平台请求参数的拼接方式

2013-11-20 12:54 295 查看
针对淘宝开放平台接口的调用,用SDK比较方便。 但如果不想引用淘宝的SDK,以更加简单的方式该如何调用呢?

下面用taobao.trades.sold.get(获取淘宝订单交易记录)这个API来说明一下拼接方式。

淘宝OpenAPI服务器地址: TaoBaoAPIUrl = "http://gw.api.taobao.com/router/rest";

开发者申请的应用标识:Appkey = "1";

开发者申请的应用标识关联的密钥:Appsecret = "2";

用户针对当前应用授权的会话密钥:SessionKey = "3";

调用时:

1,基本参数无需更改,

2,API相关参数method对应的API名称,fields对应的是当前API要求返回的字段,Status对应的API允许传入的字段。

public static String TaoBaoAPIUrl = "http://gw.api.taobao.com/router/rest";
public static String Appkey = "***";
public static String Appsecret = "***";
public static String SessionKey = "***";

static void Main(string[] args)
{
SortedDictionary<string, string> dict = new SortedDictionary<string, string>();

#region 基本参数
dict.Add("timestamp", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
dict.Add("v", "2.0");
dict.Add("app_key", Appkey);
dict.Add("partner_id", "top-apitools");
dict.Add("format", "json");
dict.Add("session", SessionKey);
dict.Add("sign_method", "md5");
#endregion

#region API相关参数
dict.Add("method", "taobao.trades.sold.get");
dict.Add("fields", "buyer_nick");
dict.Add("status", "WAIT_BUYER_PAY");
#endregion

#region 生成MD5签名
String _SignString = Appsecret + String.Join("", dict.Select(a => a.Key + a.Value).ToArray()) + Appsecret;
Byte[] _SignData = Encoding.UTF8.GetBytes(_SignString);
Byte[] _DataMD5 = MD5.Create().ComputeHash(_SignData);
String Sign = String.Join("", _DataMD5.Select(a => a.ToString("X2")).ToArray());
dict.Add("sign", Sign);
#endregion

//最终请求地址
String url = TaoBaoAPIUrl + "?" + String.Join("&", dict.Select(a => a.Key + "=" + a.Value).ToArray());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐