无法使用 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 的最佳实践