2017-03-08 18 views
0

私は少し新しくなったことをいくつかやっています。 NodeとAWS Lambdaを使ってNationbuilderのウェブサイトとやりとりするためのAPIを構築しています。 NationbuilderのAPIを使用してデータベースから情報を引き出す必要があります。私はコード内で多くのバリエーションを試しましたが、これは私の最新のすっきりした試みです。 「エラー:connect ECONNREFUSED 127.0.0.1:443」を返しています。誰かが私が違ったやり方をしているのを見ますか?私はアクセストークンを******に置き換えました。エクスポートハンドラ関数はほとんど使用されていません。リクエストを処理する代わりにリクエストを処理するLambdaの主な機能に接続します。ECONNREFUSED、Node HTTP GET Request

私は正常に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) 

}; 
+1

'url'は' get'メソッドに渡す必要がある正しいプロパティ名ですか?エラーメッセージは '127.0.0.1'と表示されているので、URLを正しく渡していないように聞こえます。' https.get'は 'https.request'と同じパラメータをとります。これは別々の' host'または 'hostname 'と' path'パラメタです。 –

+0

ローカルホストのアドレスが127.0.0.1:443であるデータベースは動作していますか?たとえば、データベースがローカルで実行されていない場合、Mongoは同様のエラーをスローします。 – Pytth

答えて

1

URL属性の問題をキャッチしてくれたMark Bに感謝します。ここでは私のために働いているコードです。私は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) 

};