如何使用节点js中的API密钥从REST api获取数据?

我在我的节点服务器中使用第三方REST API。 第三方API提供者给了我一个API密钥和cURL中的一个例子,如下所示:

$ curl -u APIKey@https://xyzsite.com/api/v1/users 

我不知道我在节点js如何做。 我尝试过,但没有运气。 我明白了

 var options = { host: "xyzsite.com", path: "/api/v1/users", headers: { "Authorization": "Basic " + myAPIKey } }; https.get(options, function(res, error) { var body = ""; res.on('data', function(data) { body += data; }); res.on('end', function() { console.log(body); }); res.on('error', function(e) { console.log(e.message); }); }); 

控制台消息

 { "message": "No authentication credentials provided." } 

像这样改变你的请求

 https.get(myAPIKey + "@https://xyzsite.com/api/v1/users",function(res,error){ var body = ""; res.on('data', function(data) { body += data; }); res.on('end', function() { console.log(body); }); res.on('error', function(e) { console.log(e.message); }); }); 

或者,如果你想使用options对象..

 var options={ host:"xyzsite.com", path:"/api/v1/users", auth: myAPIKey }; https.get(options,function(res,error){ var body = ""; res.on('data', function(data) { body += data; }); res.on('end', function() { console.log(body); }); res.on('error', function(e) { console.log(e.message); }); }); 

有关NodeJs https选项的更多信息