您的位置:首页 > 编程语言 > Java开发

java调用淘宝api实例

2018-01-16 14:09 691 查看
淘宝开放平台的地址: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的简单代码示例:

[java] view
plain copy

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());  

    }  

      

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: