продолжайте получать 401 используя пакет запроса - PullRequest
0 голосов
/ 30 октября 2019

Мой код не работает, я не могу понять, почему, и он продолжает давать мне 401, означая, что ключ API отсутствует, поэтому я не знаю, как это происходит, и я хотел бы выяснить, в чем моя проблемана этот кусок кода?

const express = require("express");
const bodyParser = require("body-parser");
const request = require("request");

const app = express();

app.use(express.static("public"));
app.use(bodyParser.urlencoded({extended: true}));

app.get("/", function(req, res){
    res.sendFile(__dirname + "/signup.html");
});

app.post("/", function(req, res){

var firstName = req.body.firstName;
var lastName = req.body.lastName;
var email = req.body.email;

var data = {
    members: [
        {
            email_address: email,
            status: "subscribed"
        }
    ]
    };

    var jsonData = JSON.stringify(data);

    var options = {
    url: "https://us20.api.mailchimp.com/3.0/lists/listId"
    method: "POST",
    headers: {
        "Authorization": "mkouk24  Api Key"
    },

    body: jsonData
};

request(options, function(error,response,body){
    if (error) {
        console.log(error);
    } else {
        console.log(response.statusCode);
    }
});

});

app.listen(3000, function() {
    console.log("Server is running on port 3000!");
});

1 Ответ

0 голосов
/ 30 октября 2019

Прежде всего, согласно документации, я думаю, что вам нужно использовать app.use(bodyParser.json()) для передачи параметров в пост-запросе.

Во-вторых, вы должны сгенерировать токен API из MailChimp и добавить его здесьAuthorization": "mkouk24 Api Key"

Подробнее об этом по этой ссылке: https://mailchimp.com/help/about-api-keys/

...