充分利用REST风格的API数据节点(服务器到服务器)节点/快递,使用请求
我试图连接到设在这里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);
});
发送请求,如果你看看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);
}
})
});
您必须ACCESS_TOKEN
request({
url: "",
method: "",
headers: {'Authorization': 'Bearer ' + YOUR_ACCESS_TOKEN},
})
谢谢,我明白了!这两个答案帮了我很多。 –
这两个答案帮助我。感谢您启动并运行。 –