首页 > 解决方案 > 带有 NodeJS 的 Mailchimp API - 将成员添加到列表返回我“错误:getaddrinfo ENOTFOUND”

问题描述

我正在使用 NodeJS 中的 Mailchimp API,但未能将成员添加到列表中。

​</p>

这是我的片段.js

var username = "&&";
var password = "&&-us&&";
var auth = "Basic " + new Buffer(username + ":" + password).toString("base64");
var url = "https://us-&&.api.mailchimp.com/3.0/lists/[listId]/members";
var json = { "email_address":"test@ŧest.com", 
"status":"pending", 
"merge_fields":{ "FNAME" : "newuser", 
                 "LNAME" : "happy" }
            }
request({ url, json: json, method: 'POST', 
          headers: { 'Content-Type': 'application/json', 
                     'Authorization': 'apikey ' + password }
         }, function(err, res, body){
                 if(err){ 
                        return console.log("err:", err) 
                } 
                   console.log("connection succeed"); console.log("res: ", res) 
});

我的控制台返回我:

​</p>

错误:{错误:getaddrinfo ENOTFOUND us-`&&.api.mailchimp.com us-18.api.mailchimp.com:443

在 errnoException (dns.js:50:10)

在 GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)

代码:'ENOTFOUND',

错误号:'ENOTFOUND',

系统调用:'getaddrinfo',

主机名:'us-&&.api.mailchimp.com',

主机:'us-&&.api.mailchimp.com',

端口:443 }

我无法弄清楚出了什么问题,如果有人有提示,那就太好了。

标签: node.jsmailchimpmailchimp-api-v3.0

解决方案


有效的 url 类似于https://serverName.api.mailchimp.com/3.0/lists/listID.

您需要在 URL 中替换以下两个以使其工作:

  1. serverName - 你必须生成你自己的特定 API 密钥,看起来像这样:#########################-us2. 在这种情况下,您必须在 url 中serverName替换为。us2
  2. listID - 您必须在 mailchimp 上生成一个特定的列表 id,从中您将获得一个 listID,您必须在 url 中替换它,例如#######

所以,最终的 URL 看起来像这样https://us2.api.mailchimp.com/3.0/lists/#######


推荐阅读