淘宝api的简单调用

淘宝开放平台的地址: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、当你注册为淘宝开放平台的用户时,就可以建立一个应用:


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


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


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

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.junit.Test;
import com.taobao.api.ApiException;
import com.taobao.api.DefaultTaobaoClient;
import com.taobao.api.TaobaoClient;
import com.taobao.api.domain.Item;
import com.taobao.api.domain.User;
import com.taobao.api.request.ItemGetRequest;
import com.taobao.api.request.ItemsOnsaleGetRequest;
import com.taobao.api.request.LogisticsAddressSearchRequest;
import com.taobao.api.request.LogisticsCompaniesGetRequest;
import com.taobao.api.request.ProductsGetRequest;
import com.taobao.api.request.ShopGetRequest;
import com.taobao.api.request.ShopUpdateRequest;
import com.taobao.api.request.TopatsTradesSoldGetRequest;
import com.taobao.api.request.TraderatesGetRequest;
import com.taobao.api.request.UserSellerGetRequest;
import com.taobao.api.request.WangwangEserviceChatpeersGetRequest;
import com.taobao.api.response.ItemGetResponse;
import com.taobao.api.response.ItemsOnsaleGetResponse;
import com.taobao.api.response.LogisticsAddressSearchResponse;
import com.taobao.api.response.LogisticsCompaniesGetResponse;
import com.taobao.api.response.ProductsGetResponse;
import com.taobao.api.response.ShopGetResponse;
import com.taobao.api.response.ShopUpdateResponse;
import com.taobao.api.response.TopatsTradesSoldGetResponse;
import com.taobao.api.response.TraderatesGetResponse;
import com.taobao.api.response.UserSellerGetResponse;
import com.taobao.api.response.WangwangEserviceChatpeersGetResponse;

/**
 */
public class App3{

	public static final String url = "http://gw.api.taobao.com/router/rest";
	
	//创建应用时,TOP颁发的唯一标识,TOP通过App Key来鉴别应用的身份。调用接口时必须传入的参数。
	public static final String appkey = "124####";
	
	/**
	 * SessionKey简单的说就是代表卖家的登录session
	 * SessionKey是用户身份的标识,应用获取到了SessionKey即意味着应用取得了用户的授权,可以替用户向TOP请求用户的
	 */
	public static final String sessionKey = "#########################";
	
	//App Secret是TOP给应用分配的密钥,开发者需要妥善保存这个密钥,这个密钥用来保证应用来源的可靠性,防止被伪造。
	public static final String secret = "##############";
	
	/**
	 * 查询卖家用户信息
	 * @throws ApiException
	 */
	@Test
	public void test1() throws ApiException{
		
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		UserSellerGetRequest req=new UserSellerGetRequest();
		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");
		UserSellerGetResponse response = client.execute(req , sessionKey);
		
		System.out.println(response.getBody());
		System.out.println(response.getMsg());
		User user = response.getUser();
	}
	
	/**
	 * 获取产品列表
	 * @throws ApiException
	 */
	@Test
	public void test2() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		ProductsGetRequest req=new ProductsGetRequest();
		req.setFields("product_id,tsc,cat_name,name");
		req.setNick("yukilovesummer");
		req.setPageNo(1L);
		req.setPageSize(40L);
		ProductsGetResponse response = client.execute(req);
		System.out.println(response.getBody());
	}
	
	/**
	 * 获取卖家店铺的基本信息
	 * cid:14
	 * @throws ApiException
	 */
	@Test
	public void test3() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		ShopGetRequest req=new ShopGetRequest();
		req.setFields("sid,cid,title,nick,desc,bulletin,pic_path,created,modified");
		req.setNick("yukilovesummer");
		ShopGetResponse response = client.execute(req);
		System.out.println(response.getBody());
	}
	
	/**
	 * 更新店铺基本信息
	 * @throws ApiException
	 */
	@Test
	public void test4() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		ShopUpdateRequest req=new ShopUpdateRequest();
		req.setTitle("女装");
		req.setBulletin("大放价咯");
		req.setDesc("<p>欢迎广大顾客前来放心选购,我店将竭诚为您服务!</p>");
		ShopUpdateResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
	}
	
	/**
	 * 搜索评价信息
	 * @throws ParseException
	 * @throws ApiException
	 */
	@Test
	public void test5() throws ParseException, ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		TraderatesGetRequest req=new TraderatesGetRequest();
		req.setFields("tid,oid,role,nick,result,created,rated_nick,item_title,item_price,content,reply,num_iid");
//		req.setRateType("get");
//		req.setRole("buyer");
		req.setRateType("give");
		req.setRole("seller");
		req.setResult("good");
		req.setPageNo(1L);
		req.setPageSize(100L);
		Date dateTime = SimpleDateFormat.getDateTimeInstance().parse("2011-01-01 00:00:00");
		req.setStartDate(dateTime);
		dateTime = SimpleDateFormat.getDateTimeInstance().parse("2013-11-02 00:00:00");
		req.setEndDate(dateTime);
//		req.setTid(123456L);
		req.setUseHasNext(true);
//		req.setNumIid(1234L);
		TraderatesGetResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
	}
	
	/**
	 * 异步获取三个月内已卖出的交易详情(支持超大卖家)
	 * @throws ApiException
	 */
	@Test
	public void test6() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		TopatsTradesSoldGetRequest req=new TopatsTradesSoldGetRequest();
		req.setFields("tid,seller_nick,buyer_nick,payment");
		req.setStartTime("20131101");
		req.setEndTime("20131130");
		req.setIsAcookie(true);
		TopatsTradesSoldGetResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
	}
	
	/**
	 * 获取当前会话用户出售中的商品列表
	 * @throws Exception
	 */
	@Test
	public void test7() throws Exception{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		ItemsOnsaleGetRequest req=new ItemsOnsaleGetRequest();
		req.setFields("num_iid,title,price");
//		req.setQ("N97");
//		req.setCid(14L);
//		req.setSellerCids("14");
//		req.setHasDiscount(true);
//		req.setHasShowcase(true);
//		req.setOrderBy("list_time:desc");
//		req.setIsTaobao(true);
//		req.setIsEx(true);
		req.setPageNo(1L);
		req.setPageSize(1000L);
//		Date dateTime = SimpleDateFormat.getDateTimeInstance().parse("2000-01-01 00:00:00");
//		req.setStartModified(dateTime);
//		dateTime = SimpleDateFormat.getDateTimeInstance().parse("2000-01-01 00:00:00");
//		req.setEndModified(dateTime);
		ItemsOnsaleGetResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
	}
	
	/**
	 * 得到单个商品信息
	 * @throws ApiException 
	 */
	@Test
	public void test8() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		ItemGetRequest req=new ItemGetRequest();
		req.setFields("num_iid,title,price,desc_modules,sell_point");
		req.setNumIid(20554027669L);
//		req.setTrackIid("123_track_456");
		ItemGetResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
		Item item = response.getItem();
		System.out.println(item.getTitle());
		System.out.println(item.getDesc());
		System.out.println(item.getPropImgs());
	}
	
	@Test
	public void test9() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		WangwangEserviceChatpeersGetRequest req=new WangwangEserviceChatpeersGetRequest();
		req.setChatId("abcd");
		req.setStartDate("2013-02-01");
		req.setEndDate("2013-03-24");
		req.setCharset("utf-8");
		WangwangEserviceChatpeersGetResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
	}
	
	/**
	 * 查询卖家地址库
	 * @throws Exception
	 */
	@Test
	public void test10() throws Exception{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		LogisticsAddressSearchRequest req=new LogisticsAddressSearchRequest();
//		req.setRdef("no_def");
		LogisticsAddressSearchResponse response = client.execute(req , sessionKey);
		System.out.println(response.getBody());
	}
	
	/**
	 * 查询物流公司信息
	 * @throws ApiException
	 */
	@Test
	public void test11() throws ApiException{
		TaobaoClient client=new DefaultTaobaoClient(url, appkey, secret);
		LogisticsCompaniesGetRequest req=new LogisticsCompaniesGetRequest();
		req.setFields("id,code,name,reg_mail_no");
		req.setIsRecommended(true);
		req.setOrderMode("offline");
		LogisticsCompaniesGetResponse response = client.execute(req);
		System.out.println(response.getBody());
	}
	
}


原文:http://blog.csdn.net/wxwzy738/article/details/17161895
相关文章:http://blog.csdn.net/qsuron/article/details/17231911
http://so.csdn.net/search?utf8=%E2%9C%93&t=&q=java+%E6%B7%98%E5%AE%9DAPI%E8%B0%83%E7%94%A8&commit=%E6%90%9C+%E7%B4%A2&sort=



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
调用淘宝API,你需要先在淘宝开放平台上申请API权限,并获取到App Key和App Secret。然后你就可以使用Python的requests库来发送HTTP请求,获取淘宝API返回的数据。 以下是一个简单的例子,使用Python的requests库发送一个获取淘宝商品信息的API请求: ```python import requests import json app_key = 'your_app_key' app_secret = 'your_app_secret' def get_item_info(item_id): url = 'http://gw.api.taobao.com/router/rest' data = { 'method': 'taobao.item.get', 'app_key': app_key, 'format': 'json', 'v': '2.0', 'timestamp': datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'), 'fields': 'num_iid,title,nick,price,pic_url', 'num_iid': item_id, 'sign_method': 'md5', } sign = generate_sign(data, app_secret) data['sign'] = sign response = requests.post(url, data=data) return json.loads(response.text) def generate_sign(data, app_secret): data = sorted(data.items()) query_string = app_secret + ''.join([k + v for k, v in data]) + app_secret return hashlib.md5(query_string.encode('utf-8')).hexdigest().upper() ``` 这个例子中,我们定义了一个get_item_info函数,该函数接受一个商品ID作为参数,并返回该商品的一些基本信息。我们使用requests库发送一个POST请求到淘宝API,并在请求数据中包含必要的参数和签名。最后,我们使用json库解析API返回的JSON格式数据。 注意,这只是一个简单的例子,淘宝API提供了非常丰富的功能和接口,你需要仔细阅读淘宝API文档,根据自己的需求调用接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值