充分利用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); 
     } 
    }) 
    }); 
+0

这两个答案帮助我。感谢您启动并运行。 –

您必须ACCESS_TOKEN

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

谢谢,我明白了!这两个答案帮了我很多。 –