使用 Mailchimp 的 API 将订阅者添加到列表
Posted
技术标签:
【中文标题】使用 Mailchimp 的 API 将订阅者添加到列表【英文标题】:Adding subscribers to a list using Mailchimp's API 【发布时间】:2020-08-09 03:13:06 【问题描述】:我刚刚开始做所有 API 的事情—— 我正在尝试使用他们的 API 将数据上传到 Mailchimp。 运行服务器时我没有收到任何错误,但数据不会更新 (我确实从 html 表单中获取了值,它们会显示在超级终端中) 这是我的代码
const bodyParser=require("body-parser");
const request=require("request");
const https=require("https");
const app=express();
app.use(express.static("public"));
app.use(bodyParser.urlencoded(extended:true));
app.get("/",function(req,res)
res.sendFile(__dirname+"/signup.html");
);
app.post("/",function(req,res)
const firstName=req.body.Fname;
const lastName=req.body.Lname;
const email=req.body.email;
console.log(firstName,lastName,email);
const data=
members:[
email_adress:email,
status:"subscribed",
merge_fields:
FNAME:firstName,
LNAME:lastName
]
;
const jsonData=JSON.stringify(data);
const url="https://us8.api.mailchimp.com/3.0/lists/b8e36ded50";
const options=
methods:"POST",
auth:"lidor:56599763339503b7bac161913940d98d-us8"
const request=https.request(url,options,function(response)
response.on("data",function(data)
console.log(JSON.parse(data));
)
)
request.write(jsonData);
request.end();
);
app.listen(3000,function()
console.log("server has started on port 3000");
);
请帮帮我!!
【问题讨论】:
【参考方案1】:试试这个
var mailchimpInstance = 'your_prefix_server',
listUniqueId = 'your_listId',
mailchimpApiKey = 'your_api_key';
app.post('/signup', function (req, res)
request
.post('https://' + mailchimpInstance + '.api.mailchimp.com/3.0/lists/' + listUniqueId + '/members/')
.set('Content-Type', 'application/json;charset=utf-8')
.set('Authorization', 'Basic ' + new Buffer.from('any:' + mailchimpApiKey ).toString('base64'))
.send(
'email_address': req.body.email,
'status': 'subscribed',
'merge_fields':
'FNAME': req.body.firstName,
'LNAME': req.body.lastName
)
.end(function(err, response)
if (response.status < 300 || (response.status === 400 && response.body.title === "Member Exists"))
res.send('Signed Up!');
else
res.send('Sign Up Failed :(');
);
);
来自https://www.codementor.io/@mattgoldspink/integrate-mailchimp-with-nodejs-app-du10854xp
他还使用“superagent”模块而不是“request”模块。有效!
【讨论】:
REQUEST 模块也被弃用了以上是关于使用 Mailchimp 的 API 将订阅者添加到列表的主要内容,如果未能解决你的问题,请参考以下文章
使用注册表单而不是 API 将 MailChimp 订阅者添加到组
使用 Mailchimp api v3.0 将订阅者添加到分段