2016-05-17 73 views
1

我試圖連接到設在這裏TradeGecko API: (所有的例子是紅寶石 - 我使用節點)充分利用REST風格的API數據節點(服務器到服務器)節點/快遞,使用請求

http://developer.tradegecko.com/

我有我創建 FAKE令牌的特權訪問令牌: 146e29b59e7e8861f462101f610f58168ca5edf2f307e5f7adc3314d24ee8015

我怎樣才能使一個GET請求來獲取所有產品,例如: http://developer.tradegecko.com/?ruby#list-all-products

非常感謝您的幫助!

讓說,我有一些像這樣的代碼:

var express = require('express'); 
var request = require('request'); 

var app = express(); 

var port = process.env.PORT || 3000; 


var testRouter = express.Router(); 

myRouter.route('/testRoute') 
    .get(function(req, res){ 
    request('API CALL HERE??', function (error, response, body){ 
     if(!error && response.statusCode == 200){ 
     res.json(body); 
     } 
    }) 
    }); 

app.use('/api', bookRouter); 

var myRouter = express.Router(); 

app.get('/', function(req, res){ 
    res.send('Welcome to my API'); 
}); 

app.listen(port, function() { 
    console.log('GULP is running my app on PORT: ' + port); 
}); 

回答

2

發送請求,如果你看看the documentation you cited結束時,你會發現,要求是:

GET https://api.tradegecko.com/products 

這是一個RESTful API。您需要閱讀如何提供訪問令牌。

通常,你添加頁眉您的要求,說:

授權:承載您的令牌

...和做一個簡單的GET請求。

Their documentation for authentication給出瞭如何進行驗證的詳細信息。這是RESTful,所以我的假設是正確的。

TradeGecko使用API​​密鑰來允許訪問API。您可以在我們的開發者門戶網站上註冊 新的TradeGecko API密鑰。

TradeGecko預計,要包含所有API中的API密鑰,看起來像下面這樣的標題請求 到服務器:

授權:承載<ACCESS_TOKEN>

您必須更換您的個人API密鑰。

這個stack overflow answer有關於執行來自nodejs的REST請求的更多細節。

得到它使用這個工作:如果你想添加到您的答案爲他人。

myRouter.route('/testRoute') 
    .get(function(req, res){ 
    request({ 
     method: 'GET', 
     uri: 'https://api.tradegecko.com/products', 
     headers: {'Authorization': 'Bearer ' + 'TOKEN HERE'} 
    }, function (error, response, body){ 
     if(!error && response.statusCode == 200){ 
     res.json(body); 
     } 
    }) 
    }); 
+0

這兩個答案幫助我。感謝您啓動並運行。 –

1

您必須ACCESS_TOKEN

request({ 
url: "", 
method: "", 
headers: {'Authorization': 'Bearer ' + YOUR_ACCESS_TOKEN}, 
}) 
+0

謝謝,我明白了!這兩個答案幫了我很多。 –