我有点想要做一些对我来说不熟悉的事情。我正在构建一个API,使用Node和AWS Lambda与Nationbuilder网站进行交互。我需要使用Nationbuilder的API从数据库中提取信息。我在我的代码中尝试了很多变化,这是我最近的精简尝试。它返回“错误:连接ECONNREFUSED 127.0.0.1:443”。有谁看到我应该采取不同的做法?我用******替换了访问令牌。导出处理函数几乎没有被使用;它与Lambda处理请求的主要功能相关联,而不是制作它们。
我可以通过hurl.it成功发出GET请求,所以问题出现在我的最后。
var package = require('./package.json');
var myNewApi = require('./lib/my_new_api.js');
var http = require("http");
var https = require("https");
var https = require('https');
var str = '';
var url = "https://neenahrockets.nationbuilder.com/api/v1/people/count?access_token=**************";
exports.handler = function (event, context) {
callback = function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(req.data);
console.log(str);
});
}
var options = {
url : url,
method: "GET",
json: true,
headers: {
"content-type": "application/json",
},
}
var req = https.get(options, callback)
};
答案 0 :(得分:1)
感谢Mark B抓住了URL属性的问题。这是为我工作的代码。我在http请求标题中添加了一个小的更改。
var package = require('./package.json');
var myNewApi = require('./lib/my_new_api.js');
var http = require("http");
var https = require("https");
var str = '';
exports.handler = function (event, context) {
callback = function(response) {
response.on('data', function (chunk) {
str += chunk;
});
response.on('end', function () {
console.log(req.data);
console.log(str);
});
}
var options = {
host : 'neenahrockets.nationbuilder.com',
path: '/api/v1/people/count?access_token=*********',
json: true,
headers: {
"content-type": "application/json",
"accept": "application/json"
},
}
var req = https.get(options, callback)
};