CORS 策略阻止访问 Mailchimp API

Posted

技术标签:

【中文标题】CORS 策略阻止访问 Mailchimp API【英文标题】:CORS policy blocking access to Mailchimp API 【发布时间】:2021-10-15 20:06:12 【问题描述】:

我正在使用 nuxtJS 和 vuetify 开发一个时事通讯弹出窗口。 这个过程很简单:你输入你的电子邮件地址,mailchimp 到其余的。

我遇到了 Mailchimp API 的问题。 当我使用具有相同设置的邮递员测试 API 时,它可以正常工作,没有任何问题。 (我可以通过检查 mailchimp 帐户来验证)。

但是当我尝试通过弹出窗口订阅时,我收到了这个错误: Error recieved

这是我的功能代码:

let data = 
    "email_address": payload,
    "status": "subscribed",
    "merge_fields": 
      "FIRSTNAME": "",
      "LASTNAME": ""
    
  
  const base64ApiKey = Buffer.from(`c18ab83bd3e9032e080d49f526285039-us6`).toString("base64");
  // const base64ApiKey = "c18ab83bd3e9032e080d49f526285039-us6";
  this.$axios.post("https://us6.api.mailchimp.com/3.0/lists/c3a3dea1fc/members/", data, 
    method: 'POST',
    mode: 'no-cors',
    headers: 
      "Access-Control-Allow-Headers": "Origin, Content-Type, X-Auth-Token, Authorization, Accept,charset,boundary,Content-Length",
      "Content-Type": "application/json",
      Authorization: `auth $base64ApiKey`,
      "Access-Control-Allow-Origin": "*",
    ,
    withCredentials: true,
    credentials: 'include',
    // proxyHeaders: false,
    // credentials: false
  ).then(res => 
    console.log(res.data);
  ).catch(err => 
    console.log(err);
  );

显然是CORS问题,我在另一台机器上试了下还是一样的错误。

【问题讨论】:

【参考方案1】:

不是在前端设置 CORS 问题,而是在服务的后端/仪表板面板上设置。

因此,可能有一种方法可以在 Mailchip 仪表板上将您的 localhost 和生产 URL 列入白名单。

尝试用谷歌搜索找到指南。

【讨论】:

以上是关于CORS 策略阻止访问 Mailchimp API的主要内容,如果未能解决你的问题,请参考以下文章

从源“http://localhost:8080”访问“API_URL”处的 XMLHttpRequest 已被 CORS 策略阻止:

CORS 策略已阻止对 XMLHttpRequest 的访问:Spring API 和 Angular UI

CORS 策略已阻止从源“localhost”访问“production_api_url”处的 XMLHttpRequest

从源“http://localhost:3000”访问“http://localhost:5000/api/products”的 XMLHttpRequest 已被 CORS 策略阻止:无“访问控制”

CORS 策略已阻止从源“http://localhost:3000”访问“http://localhost:8000/api/puppies”获取

请求被 CORS 策略阻止