API参考:
http://open.taobao.com/api_tool/api_test.html
用户授权码:
http://open.taobao.com/isv/authorize.php?appkey={Util.app_key}
公用测试帐号:
http://open.taobao.com/api_tool/taobaoPubAccount.html
密码都是: taobao1234
appkey==>authcode==>SessionKey
可参考以下代码:说明以上参数的区别(在下文对needSession.java中也具体说明)
开发文档入口:
http://wiki.open.taobao.com/index.php/%E9%A6%96%E9%A1%B5
Util.java封装共用类.
public static String sign(TreeMap<String, String> params, String secret)
说明: 由用户上传的参数包括method,app_key,timestamp,format,v等参数作为params,与用户申请的appkey对应的APP_SERCET作为secret,叠代处理这些因子通过md5加密后得到sign签名
public static String getResult(String urlStr, String content)
说明:根据要提交的地址urlStr,与上传的参数content,取得反馈信息.这可方法也可以适用任何一个网站取值的方式.
NoNeedSession.java,不需session的操作
/*
* 组装请求参数(商品信息)
*/
private String createRequestParam()
说明:这个方法,封装了基本的一些参数,包括
method:指定的api方法名称,例如:taobao.taobaoke.items.get.这种方式的优点,可以动态的扩展api,
app_key:用户申请的appkey
timestamp:邮戳,作为动态参数,可以保证生成sign的唯一性.
format:xml,json.
public String getURL()
说明:动态组装url地址:主要是提交的地址SANDBOX_URL+createRequestParam().
NeedSession.java需要session
说明:从appkey取得authcode通过以下地址(有10分钟的有效期)
http://auth.open.taobao.com/authorize/?appkey={appkey}
然后根据authcode得到SessionKey
http://container.api.tbsandbox.com/container?authcode=.本人测试过程中经常出现
无法访问的情况.但有时突然又可以了.
/*
* 得到sessionKey
*/
private String getSessionKey(String authKey)
说明:通过http://container.api.tbsandbox.com/container?authcode=.会返回一个连接地址包括:top_session=参数.这个方法就是取得该值的处理方式.