淘宝开放平台请求参数的拼接方式
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允许传入的字段。
下面用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()); }
相关文章推荐
- 网络请求参数的处理,包含过滤,排序,拼接,加密
- react native 网络get请求方式参数不可为undefined或null
- jquery load() 方法 识别 参数 [data]的请求方式(get/post)
- Ajax 以GET方式请求时,参数中包含 "#" 特殊字符的处理
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- GET方式请求表单的action属性后不能带参数
- struts2——文件的下载以及在Action中获取请求参数的方式
- 表单中多个请求参数名字相同,服务器到底获取的是哪个请求参数的值,表单的action和get和post提交方式的关系以及提交数据的不同点
- 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
- spring mvc获取请求的参数的几种方式
- 用get方式提交请求的url带有中文参数
- 写接口请求类型为get或post的时,参数定义的几种方式,如何用注解(原创)--雷锋
- AFNetworking的GET请求直接为什么不拼接参数
- Post请求方式长度参数过长导致参数为空
- springMvc 完美解决 multipart/form-data 方式提交请求 在 Filter 中 ServletRequest.getParameter方法 获取不到参数的问题
- SpringMVC映射请求参数的方式(参数绑定方式)
- 使用过滤器(Filter)解决请求参数中文乱码问题(复杂方式)
- AJAX POST请求中参数以form data和request payload形式在servlet中的获取方式
- spring mvc接收参数方式,json格式返回请求数据