天在javaeye上看到了赢在淘宝的广告才知道淘宝开放了API,不过6月份的时候就算知道了也不知道怎么用 = =! 这个东西还是挺有意思的,java版本已经有一个SDK了。刚好在看GWT+GXT,就顺便整合到一起做了一个淘宝的搜索增强。
现在在open.taobao.com上注册一个开发者账号,然后下载java sdk。http://open.taobao.com/download/ 其中的淘客API是处理阿里妈妈中的佣金的,具体可以上阿里妈妈的网站看一下。
废话不多说了,快速进入eclipse,看一个例子。
package com.sun.test;
import java.util.List;
import com.taobao.api.TaobaoApiException;
import com.taobao.api.TaobaoJsonRestClient;
import com.taobao.api.model.User;
import com.taobao.api.model.UsersGetRequest;
import com.taobao.api.model.UsersGetResponse;
public class Test {
public final static String APP_KEY = "test"; //appkey可以填自己申请的
public final static String APP_SERCET = "test";
//这个是淘宝的一个沙箱
public final static String SANDBOX_URL = "http://gw.api.tbsandbox.com/router/rest";
public final static String GET_SESSION_URL = "http://container.api.tbsandbox.com/container";
/**
*获取TabaoJsonClient的实例
*
*/
public TaobaoJsonRestClient getclient(String appKey, String secret)
throws TaobaoApiException {
return new TaobaoJsonRestClient(SANDBOX_URL, appKey, secret);
}
/**
* 查询用户
*
*/
public void test1() {
TaobaoJsonRestClient client;
try {
client = this.getclient(APP_KEY, APP_SERCET);
UsersGetRequest req = new UsersGetRequest(); //查询多个用户
String publicFields = "nick,sex,buyer_credit,seller_credit,location.city,location.state,location.country,created,last_visit";
String privateFields = "location.zip,birthday";
req.setFields(publicFields + "," + privateFields); //添加属性
req.setNicks("alipublic15"); //添加要查询用户的昵称,多个昵称用,分开
UsersGetResponse rsp = client.usersGet(req); //获取服务器返回信息
List<User> list = rsp.getUsers(); //user类就是用户信息
System.out.println(list.get(0).getNick());
System.out.println(rsp.getBody()); //打印返回信息的json
} catch (TaobaoApiException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Test t = new Test();
t.test1();
}
}
这个是一个用昵称查询用户信息的小实例。淘宝已经把所有涉及服务器信息的都包装起来了。每个返回信息的类中都包含了返回信息的封装类,错误代码以及json。基本上直接调用就可以了。淘宝的API也比较全,具体的可以看open.taobao.com上的api。