我在节点服务器中使用第三方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."
}
答案 0 :(得分:1)
像这样更改您的请求..
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);
});
});