使用Node.js发出请求,Yelp API错误

时间:2018-03-23 08:13:31

标签: node.js api server request yelp

我现在正在编写我的Node.js文件,即向Yelp API发送请求并获取客户端的JSON响应。我在localhost中测试我的代码。

我已经看到了请求网址,格式和数据都是正确的。

但是,在请求此API时收到错误消息:

  

连接ECONNREFUSED 127.0.0.1:443

这是我的Node.js代码:

http.createServer(function (req, res) {
  // data from the client
  var some_data;

  // send a GET request to Yelp’s API
  var https = require('https');
  var yelpMatch_url = encodeURI("https://api.yelp.com/v3/businesses/matches/best?some_data;

  var headers = {
     'Authorization': 'Bearer myAPI_KEY'
  };

  https.get({url: yelpMatch_url, headers: headers}, function(response) {
      var body = '';
      response.on('data', function (chunk) {
          body += chunk;
      });

      response.on('end', function () {
          // write response json
          res.write(body);
          res.end();
      });
  }).on('error', function(e) {
      console.log(e.message);
  });

}).listen(myPort);

为什么会出现此错误?

2 个答案:

答案 0 :(得分:0)

您看起来正在对您的localhost执行https请求。

确保您的服务器在本地运行,并按如下方式更新get方法:

https.get(yelpMatch_url, {headers: headers}, function(req, response) {
    var body = '';
    response.on('data', function (chunk) {
        body += chunk;
    });

    response.on('end', function () {
        // write response json
        res.write(body);
        res.end();
    });
}).on('error', function(e) {
    console.log(e.message);
});

答案 1 :(得分:0)

谢谢!我想到了。格式应该是这样的:

var https = require('https');
var myurl = "http://www.example.com";
var options = {
    url: myurl,
    headers: {
        'Authorization': 'Bearer myKeyID'
    }
};


https.get(options, function(response) {
    ... }