使用Mailchimp的API将订阅者添加到列表中



我刚开始做这一切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");
});

请帮帮我!!

请改用

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/@mattgoldsmpink/integrate-mailchimp-with-nodejs-app-du10854xp

他还使用";超级试剂";模块而不是";请求";单元它有效!

最新更新