Почему я продолжаю получать код состояния http 400 с помощью mailchimp API

#node.js #api #express #mailchimp-api-v3.0

Вопрос:

https://mailchimp.com/developer/marketing/api/lists/batch-subscribe-or-unsubscribe/ пытаюсь реализовать это в express как практику для обучения работе с 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>amp;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-адреса. Изменить ?skip_merge_validation=<false>amp;skip_duplicate_check=<true> на ?skip_merge_validation=falseamp;skip_duplicate_check=true