gpt4 book ai didi

node.js - Mailchimp API v3.0 通过 NodeJS http 添加电子邮件到列表

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:49 27 4
gpt4 key购买 nike

我正在使用 NodeJS 调用新的 MailChimp 3.0 API,以便将电子邮件添加到列表中。虽然我可以通过 POSTman 让它工作,但我很难使用 Node 的 http:

var http = require('http');

var subscriber = JSON.stringify({
"email_address": "test@test.com",
"status": "subscribed",
"merge_fields": {
"FNAME": "Tester",
"LNAME": "Testerson"
}
});

var options = {
host: 'https://us11.api.mailchimp.com',
path: '/3.0/lists/<myListID>/members',
method: 'POST',
headers: {
'Authorization': 'randomUser myApiKey',
'Content-Type': 'application/json',
'Content-Length': subscriber.length
}
}

var hreq = http.request(options, function (hres) {
console.log('STATUS CODE: ' + hres.statusCode);
console.log('HEADERS: ' + JSON.stringify(hres.headers));
hres.setEncoding('utf8');

hres.on('data', function (chunk) {
console.log('\n\n===========CHUNK===============')
console.log(chunk);
res.send(chunk);
});

hres.on('end', function(res) {
console.log('\n\n=========RESPONSE END===============');
});

hres.on('error', function (e) {
console.log('ERROR: ' + e.message);
});
});

hreq.write(subscriber);
hreq.end();

然而,我没有从 Mailchimp 得到某种 JSON 错误,而是得到 HTML: 400 错误请求

400 错误请求


nginx

是否清楚我在这里做错了什么?这看起来很简单,但我尝试过的任何东西似乎都不起作用。

一些额外的想法:

  1. 虽然 http 的选项有一个“auth”属性,但我使用 header 来确保在没有编码 (as mentioned here) 的情况下发送授权。不过,我也尝试过使用“auth”属性,我得到了相同的结果。
  2. 我实际上是从 内部 ExpressJS API 进行此调用(我的客户端调用 Express API,它调用上面的代码 - 为了简单起见,我已经从这个示例中编辑了所有代码)。这就是为什么我的变量是“hres”和“hreq”,以区别于Express中的“res”和“req”。有什么原因可能是问题所在吗?
  3. 如上所述,我在使用 POSTman 时能够获得成功的结果,所以我至少知道我的主机、路径、列表 ID 和 API key 是正确的。

最佳答案

事实证明,这有一个非常简单的解决方案:选项对象的“host”属性需要域名。 IE,去掉“https://”协议(protocol):

var options = {
host: 'us11.api.mailchimp.com',
path: '/3.0/lists/<myListID>/members',
method: 'POST',
headers: {
'Authorization': 'randomUser myApiKey',
'Content-Type': 'application/json',
'Content-Length': subscriber.length
}
}

关于node.js - Mailchimp API v3.0 通过 NodeJS http 添加电子邮件到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32895346/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com