node.js - 将请求发布到 mailchimp
问题描述
我想向 mailchimp api 发出发布请求。我不知道该怎么做。当我在邮递员上对其进行测试时,它会出错。另外我不确定如何请求正文中的数据。
const express = require('express');
const Mailchimp = require('mailchimp-api-v3');
const MailChimpConfig = require('./.env');
const app = express();
const mailchimp = new Mailchimp(MailChimpConfig.MAILCHIMP_API_KEY);
app.get('/api/memberList',(req, res) => {
mailchimp.get(`/lists/${MailChimpConfig.MAILING_LIST_ID}/members`)
.then(function(results){
res.send(results);
}).catch(function(err){
res.send(err);
});
});
app.post('/api/create',(req, res) => {
mailchimp.post(`/lists/${MailChimpConfig.MAILING_LIST_ID}/members`, {
email_address: email,
status: 'subscribed',
merge_fields: {
'FNAME': firstName,
'LNAME': lastName,
}
})
.then(function(results){
res.send(results);
}
).catch(function (err) {
res.send(err);
});
});
当我在邮递员上测试它时,我应该创建一个包含电子邮件、名字和姓氏的新成员。
解决方案
使用axios模块发送请求
app.post('/api/create',(req, res) => {
axios({
method: 'POST',
json: true,
url: `${MailChimpConfig.URL}/lists/${MailChimpConfig.MAILING_LIST_ID}/members`,
headers: {
Authorization: `apiKey ${MailChimpConfig.apiKey}`
},
body: {
email_address: email,
status: 'subscribed',
merge_fields: {
'FNAME': firstName,
'LNAME': lastName,
}
}
})
.then(function(results){
res.send(results);
}
).catch(function (err) {
res.send(err);
});
});
推荐阅读
- python - 熊猫。如何从数据框列表中调用数据框?
- python - 无法保存模型架构(bilstm + attention)
- python-3.x - 无法通过 pyspark 从镶木地板中读取一列,而其他列被正确读取
- java - MappingException:在实现 AbstractElasticsearchConfiguration 时找不到 PersistentEntity
- c++ - 从特定容器类型(指向自身的指针)泛化类的成员
- arrays - 检查字符串中的每个字符是否在数组c ++中可用
- python - 使用子进程执行 python 脚本时 Cron 作业失败
- javascript - 使用 exec() 运行命令 - Node.js
- r - R Parallel EasyABC 或 smfsb:ABC-SMC
- json - json文件未在本机反应中更新