我正在尝试通过jQuery向Mailchimp API发出GET请求。似乎我的自定义标头未正确设置,因为出现了Your request did not include an API key.错误。

如果我在Ubuntu机器上使用curl发出请求,则效果很好:

curl --header "Authorization: apikey 709XXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us11" https://us11.api.mailchimp.com/3.0/campaigns

这是我的代码:
$.ajax({
    type: 'GET',
    url: 'https://us11.api.mailchimp.com/3.0/campaigns',
    crossDomain: true,
    dataType: 'jsonp',
    contentType: "application/json; charset=utf-8",
    headers: {
        'Authorization': 'apikey 709XXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us11'
    }
}).done(function (response) {
    console.log(response); // verbose
});

我什至尝试在上面添加以下内容:
$.ajaxSetup({
    headers: { 'Authorization': 'apikey 709XXXXXXXXXXXXXXXXXXXXXXXXXXXXX-us11' }
});

最佳答案

您需要通过Basic Auth添加密钥,据我所知,您不能从前端查询它,它必须在后端。

在NodeJS中查找示例:

headers: {
    'Authorization': 'Basic ' + new Buffer(`anything:${MailChimpKey}`).toString('base64');
}

10-04 13:08