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/%E8%8E%B7%E5%8F%96%E5%BA%94%E7%94%A8%E4%B8%8A%E4%B8%8B%E6%96%87%E5%92%8CSessionKey
開發文檔入口:
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=參數.這個方法就是取得該值的處理方式.