从节点(服务器到服务器)Node / Express使用请求中获取来自Restful API的数据

我试图连接到位于这里的TradeGecko API :(他们所有的例子都是在ruby – 我使用节点)

http://developer.tradegecko.com/

我有一个特权访问令牌,我创build了FAKE TOKEN: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); }); 

如果你看看你引用的文档的结尾,你会注意到这个请求是:

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

这是一个RESTful API。 您需要了解如何提供访问令牌。

通常情况下 ,您添加一个头到您的请求说:

授权:承载您的令牌

…并做一个简单的GET请求。

他们的身份validation文档详细介绍了如何进行身份validation。 这是RESTful,所以我的假设是正确的。

TradeGecko使用API​​密钥来允许访问API。 您可以在我们的开发者门户网站上注册一个新的TradeGecko API密钥。

TradeGecko希望将API密钥包含在对服务器的所有API请求中,其头像如下所示:

授权:承载<ACCESS_TOKEN>

您必须replace您的个人API密钥。

这个堆栈溢出的答案有更多关于从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); } }) }); 

您必须通过ACCESS_TOKEN发送请求

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