2017-09-06 11 views
0

Firebaseの幅クラウド関数を統合するためのリクエスト関数とtryngがあります。Firebaseエラーのクラウド関数:getaddrinfo ENOTFOUND

Error: Error: getaddrinfo ENOTFOUND usxx.api.mailchimp.com usxx.api.mailchimp.com:443 

私が間違っているの何:

var http = require("https"); 

    function addUserToMailchimpList(email) { 
    var options = { method: 'POST', 
     url: 'https://usxx.api.mailchimp.com/3.0/lists/xxxxxxx/members/', 
     headers: 
     { 'content-type': 'application/json', 
     'user' : 'anystring:xxxxxxxxxxxxxxxxxxxxxxx' 
     }, 

     body: 
     { email_address: email, 
     status: 'subscribed', 
     }, 
     json: true }; 

    request(options, function (error, response, body) { 
     if (error) throw new Error(error); 
     console.log(body); 
     console.log(error); 
     console.loh(response); 
    }); 

} 

そこで私は、この関数に

exports.sendWelcomeEmail = functions.auth.user().onCreate(event => { 
    const user = event.data; // The Firebase user. 
    const email = user.email; // The email of the user. 
    const displayName = user.displayName; // The display name of the user. 

    return addUserToMailchimpList(email); 
}); 

を幅を展開するtryngが、firebase機能でいますが、私はエラーを取得していますログ? undestand ..ではない?

私が使用するtryngています他の方法が、同じエラー

function addUserToMailchimpList(email) { 

    var options = { 
    "method": "POST", 
    "hostname": "usxx.api.mailchimp.com", 
    "port": null, 
    "path": "/3.0/lists/xxxxx/members/", 
    "headers": { 
     "content-type": "application/json", 
     "user": "anystring:xxxxxxxxxx", 
    } 
    }; 

    var req = http.request(options, function (res) { 
    var chunks = []; 

    res.on("data", function (chunk) { 
     chunks.push(chunk); 
    }); 

    res.on("end", function() { 
     var body = Buffer.concat(chunks); 
     console.log(body.toString()); 
    }); 
    }); 

    req.write(JSON.stringify({ email_address: email, 
    status: 'subscribed', 
    merge_fields: { FNAME: 'xxx', LNAME: 'xxx' } })); 
    req.end(); 

} 
+0

「usxx.api.mailchimp.com」はIP番号に解決できません。ホスト名が無効であるか、あなたのDNSがそれについて知りません、いくつかのアンチウイルス/ファイアウォールソフトウェアがルックアップなどをブロックしています。 – robertklep

+0

私はlocalhostからdeployngしていますが、ファイヤーベースから機能が実行されます –

+1

おそらくあなたは作成できませんFirebaseからのネットワーク接続? [このblogpost](https://www.automationfuel.com/firebase-functions-sending-emails/)では、外部APIリクエストを行うために、請求を有効にする必要があることを示しています。 – robertklep

答えて

0

This blogpostあなたはFirebaseクラウド機能のAPIリクエストを実行する前に、あなたが最初の課金を有効にする必要があることを示唆しています。

関連する問題