淘宝api的简单调用

我就是我 2022-09-19 00:15 264阅读 0赞

淘宝开放平台的地址:http://open.taobao.com/doc/detail.htm?id=73

SessionKey、AppKey、AppSecret的名词解释:

http://open.taobao.com/doc/detail.htm?spm=0.0.0.0.YangbF&id=162

1、当你注册为淘宝开放平台的用户时,就可以建立一个应用:

SouthEast

2、下面的应用的详细信息

SouthEast 1

3、淘宝api查询的就是该应用下使用的卖家信息,因为淘宝api主要是给卖家做一些扩展功能的,比如装修店铺等。所以如果你的应用下面没有卖家的话,那么调用淘宝api的话就基本上没有什么返回值咯,卖家怎么使用该应用呢?见下图

SouthEast 2

4、下面是调用淘宝api的简单代码示例:

  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. import org.junit.Test;
  5. import com.taobao.api.ApiException;
  6. import com.taobao.api.DefaultTaobaoClient;
  7. import com.taobao.api.TaobaoClient;
  8. import com.taobao.api.domain.Item;
  9. import com.taobao.api.domain.User;
  10. import com.taobao.api.request.ItemGetRequest;
  11. import com.taobao.api.request.ItemsOnsaleGetRequest;
  12. import com.taobao.api.request.LogisticsAddressSearchRequest;
  13. import com.taobao.api.request.LogisticsCompaniesGetRequest;
  14. import com.taobao.api.request.ProductsGetRequest;
  15. import com.taobao.api.request.ShopGetRequest;
  16. import com.taobao.api.request.ShopUpdateRequest;
  17. import com.taobao.api.request.TopatsTradesSoldGetRequest;
  18. import com.taobao.api.request.TraderatesGetRequest;
  19. import com.taobao.api.request.UserSellerGetRequest;
  20. import com.taobao.api.request.WangwangEserviceChatpeersGetRequest;
  21. import com.taobao.api.response.ItemGetResponse;
  22. import com.taobao.api.response.ItemsOnsaleGetResponse;
  23. import com.taobao.api.response.LogisticsAddressSearchResponse;
  24. import com.taobao.api.response.LogisticsCompaniesGetResponse;
  25. import com.taobao.api.response.ProductsGetResponse;
  26. import com.taobao.api.response.ShopGetResponse;
  27. import com.taobao.api.response.ShopUpdateResponse;
  28. import com.taobao.api.response.TopatsTradesSoldGetResponse;
  29. import com.taobao.api.response.TraderatesGetResponse;
  30. import com.taobao.api.response.UserSellerGetResponse;
  31. import com.taobao.api.response.WangwangEserviceChatpeersGetResponse;
  32. /**
  33. */
  34. public class App3{
  35. public static final String url = "http://gw.api.taobao.com/router/rest";
  36. //创建应用时,TOP颁发的唯一标识,TOP通过App Key来鉴别应用的身份。调用接口时必须传入的参数。
  37. public static final String appkey = "124####";
  38. /**
  39. * SessionKey简单的说就是代表卖家的登录session
  40. * SessionKey是用户身份的标识,应用获取到了SessionKey即意味着应用取得了用户的授权,可以替用户向TOP请求用户的
  41. */
  42. public static final String sessionKey = "#########################";
  43. //App Secret是TOP给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的可靠性,防止被伪造。
  44. public static final String secret = "##############";
  45. /**
  46. * 查询卖家用户信息
  47. * @throws ApiException
  48. */
  49. @Test
  50. public void test1() throws ApiException{
  51. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  52. UserSellerGetRequest req=new UserSellerGetRequest();
  53. req.setFields("location,user_id,nick,sex,seller_credit,type,has_more_pic,item_img_num,item_img_size,prop_img_num,prop_img_size,auto_repost,promoted_type,status,alipay_bind,consumer_protection,avatar,liangpin,sign_food_seller_promise,has_shop,is_lightning_consignment,has_sub_stock,is_golden_seller,vip_info,magazine_subscribe,vertical_market,online_gaming");
  54. UserSellerGetResponse response = client.execute(req , sessionKey);
  55. System.out.println(response.getBody());
  56. System.out.println(response.getMsg());
  57. User user = response.getUser();
  58. }
  59. /**
  60. * 获取产品列表
  61. * @throws ApiException
  62. */
  63. @Test
  64. public void test2() throws ApiException{
  65. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  66. ProductsGetRequest req=new ProductsGetRequest();
  67. req.setFields("product_id,tsc,cat_name,name");
  68. req.setNick("yukilovesummer");
  69. req.setPageNo(1L);
  70. req.setPageSize(40L);
  71. ProductsGetResponse response = client.execute(req);
  72. System.out.println(response.getBody());
  73. }
  74. /**
  75. * 获取卖家店铺的基本信息
  76. * cid:14
  77. * @throws ApiException
  78. */
  79. @Test
  80. public void test3() throws ApiException{
  81. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  82. ShopGetRequest req=new ShopGetRequest();
  83. req.setFields("sid,cid,title,nick,desc,bulletin,pic_path,created,modified");
  84. req.setNick("yukilovesummer");
  85. ShopGetResponse response = client.execute(req);
  86. System.out.println(response.getBody());
  87. }
  88. /**
  89. * 更新店铺基本信息
  90. * @throws ApiException
  91. */
  92. @Test
  93. public void test4() throws ApiException{
  94. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  95. ShopUpdateRequest req=new ShopUpdateRequest();
  96. req.setTitle("女装");
  97. req.setBulletin("大放价咯");
  98. req.setDesc("<p>欢迎广大顾客前来放心选购,我店将竭诚为您服务!</p>");
  99. ShopUpdateResponse response = client.execute(req , sessionKey);
  100. System.out.println(response.getBody());
  101. }
  102. /**
  103. * 搜索评价信息
  104. * @throws ParseException
  105. * @throws ApiException
  106. */
  107. @Test
  108. public void test5() throws ParseException, ApiException{
  109. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  110. TraderatesGetRequest req=new TraderatesGetRequest();
  111. req.setFields("tid,oid,role,nick,result,created,rated_nick,item_title,item_price,content,reply,num_iid");
  112. // req.setRateType("get");
  113. // req.setRole("buyer");
  114. req.setRateType("give");
  115. req.setRole("seller");
  116. req.setResult("good");
  117. req.setPageNo(1L);
  118. req.setPageSize(100L);
  119. Date dateTime = SimpleDateFormat.getDateTimeInstance().parse("2011-01-01 00:00:00");
  120. req.setStartDate(dateTime);
  121. dateTime = SimpleDateFormat.getDateTimeInstance().parse("2013-11-02 00:00:00");
  122. req.setEndDate(dateTime);
  123. // req.setTid(123456L);
  124. req.setUseHasNext(true);
  125. // req.setNumIid(1234L);
  126. TraderatesGetResponse response = client.execute(req , sessionKey);
  127. System.out.println(response.getBody());
  128. }
  129. /**
  130. * 异步获取三个月内已卖出的交易详情(支持超大卖家)
  131. * @throws ApiException
  132. */
  133. @Test
  134. public void test6() throws ApiException{
  135. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  136. TopatsTradesSoldGetRequest req=new TopatsTradesSoldGetRequest();
  137. req.setFields("tid,seller_nick,buyer_nick,payment");
  138. req.setStartTime("20131101");
  139. req.setEndTime("20131130");
  140. req.setIsAcookie(true);
  141. TopatsTradesSoldGetResponse response = client.execute(req , sessionKey);
  142. System.out.println(response.getBody());
  143. }
  144. /**
  145. * 获取当前会话用户出售中的商品列表
  146. * @throws Exception
  147. */
  148. @Test
  149. public void test7() throws Exception{
  150. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  151. ItemsOnsaleGetRequest req=new ItemsOnsaleGetRequest();
  152. req.setFields("num_iid,title,price");
  153. // req.setQ("N97");
  154. // req.setCid(14L);
  155. // req.setSellerCids("14");
  156. // req.setHasDiscount(true);
  157. // req.setHasShowcase(true);
  158. // req.setOrderBy("list_time:desc");
  159. // req.setIsTaobao(true);
  160. // req.setIsEx(true);
  161. req.setPageNo(1L);
  162. req.setPageSize(1000L);
  163. // Date dateTime = SimpleDateFormat.getDateTimeInstance().parse("2000-01-01 00:00:00");
  164. // req.setStartModified(dateTime);
  165. // dateTime = SimpleDateFormat.getDateTimeInstance().parse("2000-01-01 00:00:00");
  166. // req.setEndModified(dateTime);
  167. ItemsOnsaleGetResponse response = client.execute(req , sessionKey);
  168. System.out.println(response.getBody());
  169. }
  170. /**
  171. * 得到单个商品信息
  172. * @throws ApiException
  173. */
  174. @Test
  175. public void test8() throws ApiException{
  176. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  177. ItemGetRequest req=new ItemGetRequest();
  178. req.setFields("num_iid,title,price,desc_modules,sell_point");
  179. req.setNumIid(20554027669L);
  180. // req.setTrackIid("123_track_456");
  181. ItemGetResponse response = client.execute(req , sessionKey);
  182. System.out.println(response.getBody());
  183. Item item = response.getItem();
  184. System.out.println(item.getTitle());
  185. System.out.println(item.getDesc());
  186. System.out.println(item.getPropImgs());
  187. }
  188. @Test
  189. public void test9() throws ApiException{
  190. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  191. WangwangEserviceChatpeersGetRequest req=new WangwangEserviceChatpeersGetRequest();
  192. req.setChatId("abcd");
  193. req.setStartDate("2013-02-01");
  194. req.setEndDate("2013-03-24");
  195. req.setCharset("utf-8");
  196. WangwangEserviceChatpeersGetResponse response = client.execute(req , sessionKey);
  197. System.out.println(response.getBody());
  198. }
  199. /**
  200. * 查询卖家地址库
  201. * @throws Exception
  202. */
  203. @Test
  204. public void test10() throws Exception{
  205. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  206. LogisticsAddressSearchRequest req=new LogisticsAddressSearchRequest();
  207. // req.setRdef("no_def");
  208. LogisticsAddressSearchResponse response = client.execute(req , sessionKey);
  209. System.out.println(response.getBody());
  210. }
  211. /**
  212. * 查询物流公司信息
  213. * @throws ApiException
  214. */
  215. @Test
  216. public void test11() throws ApiException{
  217. TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
  218. LogisticsCompaniesGetRequest req=new LogisticsCompaniesGetRequest();
  219. req.setFields("id,code,name,reg_mail_no");
  220. req.setIsRecommended(true);
  221. req.setOrderMode("offline");
  222. LogisticsCompaniesGetResponse response = client.execute(req);
  223. System.out.println(response.getBody());
  224. }
  225. }

发表评论

表情:
评论列表 (有 0 条评论,264人围观)

还没有评论,来说两句吧...

相关阅读

    相关 python 调用api

    享下以前写的一个python 调用淘宝客api的一个例子,其中主要的是淘宝sign签名算法,这个算法现在没有变,还有一个app\_key 、app\_secret这两个需...