为啥我一直使用 mailchimp API 获取 http 状态代码 400

Posted

技术标签:

【中文标题】为啥我一直使用 mailchimp API 获取 http 状态代码 400【英文标题】:Why do I keep getting the http status code 400 with mailchimp API为什么我一直使用 mailchimp API 获取 http 状态代码 400 【发布时间】:2021-09-08 22:39:15 【问题描述】:

https://mailchimp.com/developer/marketing/api/lists/batch-subscribe-or-unsubscribe/ 试图以快递方式实现这一点,作为学习使用 API 的实践,但服务器不断返回代码 400,我不知道为什么当我只是尝试使用它向我的 mailchimp 列表中添加电子邮件时。

const express = require("express");
const bodyParser = require("body-parser");
const request = require("request");
app=express();
app.use(bodyParser.urlencoded( extended: true ));

var email;
var firstName;
var lastName;

app.use(express.static("public"));
app.listen(3000,() =>
  console.log("Server is up and running on port 3000");
)

app.get("/signup", (req,res) =>
res.sendFile(__dirname+"/signup.html");

);

app.post("/",(req,res) =>
  firstName = req.body.firstName;
  lastName = req.body.lastName;
  email = req.body.userEmail;
  console.log(firstName,lastName,email);
);

var data = 
  members: [
    
    email_address: email,
    status: "subscribed"
  
]
;
var jsonData= JSON.stringify(data);

var options = 
  url: "https://us6.api.mailchimp.com/3.0/lists/e1c06c3202?skip_merge_validation=<false>&skip_duplicate_check=<true>",
  headers: 
    "Authorization" : "ItsCrux myapikey-us6",
//I know, I have to use my actual key here that's not the problem
  body: jsonData,
  method: "POST"
;

request(options, (error, response, body) => 
if(error)
  console.log(error);

else
  console.log(response.statusCode);

);

【问题讨论】:

【参考方案1】:

尝试从 URL 中删除 &lt;&gt;。 将?skip_merge_validation=&lt;false&gt;&amp;skip_duplicate_check=&lt;true&gt; 更改为?skip_merge_validation=false&amp;skip_duplicate_check=true

【讨论】:

以上是关于为啥我一直使用 mailchimp API 获取 http 状态代码 400的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 app.js 没有检测到 Mailchimp API 的错误?

为啥在连接到 mailchimp API 3.0 时出现 401 错误

为啥在发送 Mailchimp API oauth2 初始请求后我没有在浏览器中被重定向?

使用 curl 从 mailchimp 获取数据我在哪里将 api 密钥放在 curl 调用中

通过 Mailchimp API 获取 html 源代码

如何从 MailChimp 3.0 API 获取兴趣组?