带有mailchimp的Angular2帖子

Posted

技术标签:

【中文标题】带有mailchimp的Angular2帖子【英文标题】:Angular2 post with mailchimp 【发布时间】:2017-06-05 21:32:39 【问题描述】:

我的帖子在邮递员中有效,但在我的应用程序中无效。我做错了什么?

let data = obj;
      let url = 'https://us123.api.mailchimp.com/3.0/lists/somenumber/members';
      let username: string = 'user';
      let password: string = 'mytokenhere';
      let headers = new Headers();
      headers.append("Authorization", "Basic " + btoa(username + ":" + password));
      headers.append("Content-Type", "application/x-www-form-urlencoded");
        return this._http.post(url, data, headers: headers).subscribe(
            data => this.response(data),
            error => this.response(error)
        );

我在应用程序中遇到 CORS 错误:

'XMLHttpRequest 无法加载https://us123.api.mailchimp.com/3.0/lists/somenumber/members。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'http://localhost:4200' 不允许访问。响应的 HTTP 状态代码为 501。'

【问题讨论】:

How to create cross-domain request (Angular 2)?的可能重复 【参考方案1】:

Mailchimp 不支持对其 API 的客户端调用。您需要做的是设置一个服务器,该服务器可以将来自浏览器的请求代理到 Mailchimp。如果 Mailchimp API 不提供 CORS 响应标头,则您无法在客户端进行太多操作以使其正常工作。

如果您创建的 API 与网站位于同一域中,则 CORS 问题将被消除(或者您也可以通过设置适当的标头来修复)

查看身份验证下的注释:

https://developer.mailchimp.com/documentation/mailchimp/guides/get-started-with-mailchimp-api-3/

更多信息: https://www.moesif.com/blog/technical/cors/Authoritative-Guide-to-CORS-Cross-Origin-Resource-Sharing-for-REST-APIs/

【讨论】:

以上是关于带有mailchimp的Angular2帖子的主要内容,如果未能解决你的问题,请参考以下文章

MailChimp RSS广告系列:强制包含旧帖子

MailChimp RSS 活动:强制包含旧帖子

如何在 mailchimp 中使用更高级别的 pygments 语法

Mailchimp RSS 活动仅包含 1 个帖子

为 Wordpress 中的每个新帖子自动创建一个新的 Mailchimp 邮件列表(M​​ailchimp API 3.0+)

Mailchimp RSS广告系列仅包含1个帖子