2016-03-18 3 views
1

Я использую сторонний REST API на моем узловом сервере. Третий поставщик сторона API, как дал мне ключ API и пример в Curl следующим образом:Как получить данные из REST api с помощью ключа API в узле js?

$ curl -u [email protected]://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); 
    }); 
}); 

Console сообщение

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

Какой API вы используете? Вы либо не предоставляете правильные учетные данные, либо ваш запрос содержит ошибки. –

ответ

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); 
    }); 
}); 

More info on NodeJs https options

+0

Спасибо за ответ. Но, к сожалению, это не сработало. Первый подход бросил Ошибка: не удалось определить доменное имя. А вторая - одна и та же ошибка, нет учетных данных аутентификации. –

+0

Да, я думаю, мне нужно будет узнать больше об API, чтобы определить, почему он не работает. – ZimSystem

Смежные вопросы