如何使用节点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选项的更多信息
- 使用Flux / React应用程序存储authentication详细信息
- validationcaptcha以及passport.js
- 新用户注册后立即进行Passport身份validation
- Firebase 3 node.js服务器authentication是否会改变?
- 用户在Firebase / Node.js中全局logging
- 如何在nodjes服务器中使用Kerberos?
- 如何使用身份validation令牌访问用户数据
- 使用Passport在Socket.io上进行令牌validation
- Firebase admin.auth.createUser错误(nodejs + Typescript + firebase-admin)