最近開發淘寶開放平台上的應用,淘寶本身提供了php, c# ,java,python四中調用的方法和SDK,由於最近nodejs非常火熱,所以我基於nodejs實現了一套調用的方式,具體實現細節如下
源代碼地址:TOP-Nodejs-seed
淘寶開放平台API調用Nodejs版本實現
淘寶開放平台(Taobao Open Platform以下簡稱TOP)API調用方式可以通過此處查看。
本代碼為調用TOP API的Nodejs實現版本。可以在此基礎上進行開發.
你可以通過如下的步驟,輕松進入開發狀態
1,獲得代碼
2,進入項目目錄,執行如下命令安裝項目的依賴包
npm install
3,修改appconfig.js文件中的Appkey和Appsecret的值(該值從你的應用證書頁面獲得)
AppKey:"從淘寶獲得的Appkey",
AppSecret:"從淘寶獲得的AppSecret"
到此為止,你已經完成了項目運行起來所需要的全部步驟,你可以通過如下命令啟動web服務.
node app.js
此時,你可以通過瀏覽器訪問http://localhost:3000查看效果,本項目實現了一個簡單的獲取賣家當前出售商品的demo。至此,所有演示已經結束,你可以通過如下的介紹,開始進行項目的繼續開發。
開始開發
開發前首先用你喜歡的編輯器打開項目,此處我推薦使用webstorm。
項目結構
|-public /*用來存放網站的靜態資源,包括css js images等
|-routes /*存放controller文件
|-SDK
|-index.js /*提供了前端通過js調用API的功能 通過$.ajax("/rest")訪問到的及時此文件
|-test /*存放測試文件,項目測試采用Mocha
|-util 調用淘寶API的核心功能
|- sign.js 用於簽名JSSDK |-TopAPI.js api調用的核心文件|-TopHelper.js一些工具類,如加密等
|-views 存放前端HTML文件,項目使用handlebars模板引擎,所以文件后綴為hbs
API簽名流程
程序登陸頁為index。
登錄成功后會回調到/success處理(此處為你在開發中心配置的回調地址)。在此處理中需要做如下判斷。
將成功驗證的客戶端session分配到cookie中,然后將頁面跳轉向/main(具體功能)頁面.
if (TopHelper.VerifyTopResponse(qstring.top_parameters, qstring.top_session, qstring.top_sig> n, config.AppKey, config.AppSecret)){var nick=TopHelper.GetParameters(qstring.top_parameters,"visitor_nick"); res.cookie(nick,qstring.top_session); res.cookie("client_session",qstring.top_session); res.send("驗證成功"); res.redirect("/main");}
如何在nodejs中調用API? ##
你只需通過如下一行代碼即可調用(具體API)
TopAPI.Execute(method, options,function(data){})/*method 需要調用API的名稱,如:“taobao.item.get” /*API需要傳入的參數
如何利用jquery調用API?
和上面大體相同,你可以通過如下方式。
$.post("/rest", {method:"taobao.items.onsale.get", options:options }, function (data) {})