【问题标题】:Adding subscribers to a list using Mailchimp's API使用 Mailchimp 的 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");
});

请帮帮我!!

【问题讨论】:

    标签: javascript node.js json mailchimp mailchimp-api-v3.0


    【解决方案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 模块也被弃用了
    猜你喜欢
    • 2015-08-09
    • 2018-05-15
    • 2015-11-26
    • 2016-12-11
    • 2012-01-07
    • 2015-10-17
    • 2013-09-09
    • 2018-02-11
    相关资源
    最近更新 更多