【发布时间】:2019-07-30 20:57:15
【问题描述】:
我正在尝试使用 http 请求与邮件黑猩猩 API 3.0 建立连接。但是请求被 CORS 阻止,我从邮件黑猩猩那里收到 401 错误,即我没有传递 API 密钥。但我正在传递钥匙。谁能解释如何解决这个问题。
我也不能为这个项目使用任何插件或库。它必须是 Vanilla JavaScript。
谢谢
get : function(url,callback) {
var data = JSON.stringify({
"email_address": "test2@test.ca",
"status": "subscribed"
});
var request = new XMLHttpRequest();
request.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
var response = JSON.parse(request.response);
callback(response);
}
};
request.open('get',url,true);
request.setRequestHeader('Authorization', 'Basic ' + btoa('anystring' + ':' + myapikey));
request.setRequestHeader('content-type', 'application/json');
request.setRequestHeader('Access-Control-Allow-Origin', '*');
request.send(data);
}
作为参考,这是来自 mailchimp 的示例代码。
curl --request GET \
--url 'https://<dc>.api.mailchimp.com/3.0/' \
--user 'anystring:<your_apikey>'
错误: 从源“null”访问 XMLHttpRequest 在“https://us19.api.mailchimp.com/3.0/lists/listid/members”已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头.
点击链接给我
{"type":"http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/","title":"API Key Missing","status":401,"detail":"您的请求不包含 API 密钥。","instance": "c8c5e111-6969-41a1-9e68-f545959ba6c5"}
【问题讨论】:
标签: javascript mailchimp-api-v3.0