无法使用 Nodejs 和 express API 将收集的电子邮件添加到 Mailchimp 列表

Posted

技术标签:

【中文标题】无法使用 Nodejs 和 express API 将收集的电子邮件添加到 Mailchimp 列表【英文标题】:Can not add collected email to Mailchimp list using Nodejs and express API 【发布时间】:2021-09-09 12:38:32 【问题描述】:

我是 Nodejs 和后端开发的新手。我正在尝试构建一个电子邮件注册列表页面,用户可以在其中输入他们的名字、姓氏和电子邮件。在我的 html 文件中,输入被连续称为 firstName、lastName 和 email。当用户输入该数据时,下面的代码应该将其保存到 Mailchimp 服务器受众列表中。这是我第一次使用 Mailchimp。谁能告诉我为什么下面的代码没有将收集到的数据添加到 Mailchimp 受众列表中?

const express = require('express')
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: false
));

app.get("/", function(req, res) 
  //res.send("Server is up and running at port 3000");
  res.sendFile(__dirname + "/signup.html");
)

app.post("/", function(req, res) 

  const firstName = req.body.firstName;
  const lastName = req.body.lastName;
  const email = req.body.email;

  const data = 
    members: [
      email_address: email,
      status: "subscribed",
      merge_fields: 
        FNAME: firstName,
        LNAME: lastName
      
    ]
  

  const jsonData = JSON.stringify(data);
  const url = "https://us6.api.mailchimp.com/3.0/lists/List ID";
  const options = 
    mathod: "POST",
    auth: "joy1:myapikey"
  

  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(req, res) 
  console.log("Listening to port 3000");
);

【问题讨论】:

【参考方案1】:

看来你这里有一个错字。此外,当您发出发布请求时,我无法在他们的文档中看到此 API 参考。检查here,您可能使用了错误的 API 调用。

const jsonData = JSON.stringify(data);
  const url = "https://us6.api.mailchimp.com/3.0/lists/List ID";
  const options = 
    method: "POST", // here
    auth: "joy1:myapikey"
  

【讨论】:

是错字造成的!谢谢

以上是关于无法使用 Nodejs 和 express API 将收集的电子邮件添加到 Mailchimp 列表的主要内容,如果未能解决你的问题,请参考以下文章

在 NodeJS/Express 中使用 API 网关进行微服务 API 身份验证

使用异步和请求包(NodeJS / Express)进行多个 API 调用

使用nodejs和rest api调用和express进行异步处理-序列错误

使用 Express 和 NodeJS 构建 REST API 的最佳实践

如何使用 nodejs 和 express 在 REST API 中实现搜索和过滤

NodeJS Express API 调用结构异步事件