【发布时间】:2018-04-27 16:36:43
【问题描述】:
我的单页应用本身没有后端 (firebase),现在需要与 Mailchimp 交互以允许访问者注册时事通讯。
到目前为止,我有这个 API 密钥 - 它似乎可以完全访问我的 mailchimp 帐户。 是否可以简单地从 SPA 调用 Mailchimp api 进行注册,而不提供 api 密钥?
【问题讨论】:
标签: mailchimp mailchimp-api-v3.0
我的单页应用本身没有后端 (firebase),现在需要与 Mailchimp 交互以允许访问者注册时事通讯。
到目前为止,我有这个 API 密钥 - 它似乎可以完全访问我的 mailchimp 帐户。 是否可以简单地从 SPA 调用 Mailchimp api 进行注册,而不提供 api 密钥?
【问题讨论】:
标签: mailchimp mailchimp-api-v3.0
您是对的,API 密钥可以访问您的帐户,因此应该保密。如果不提供 API 密钥,就无法使用 MailChimp API,但如果您只使用它来订阅用户,则可以通过简单的 AJAX 调用来实现。此方法使用用户 ID 而不是私有 API 密钥来识别您的帐户。
以下请求改编自this answer:
$.ajax({
type: 'post',
url: 'http://xxxxx.us#.list-manage.com/subscribe/post-json?u=xxxxx&id=xxxx&c=?',
data: $('form').serialize(),
cache : false,
dataType : 'json',
contentType: "application/json; charset=utf-8",
error : function(err) { alert("Could not connect to the registration server. Please try again later."); },
success : function(data) {
if (data.result != "success") {
//Failed
} else {
//Success
}
}
});
要查找需要放在url 字符串中的值,请按照this page from MailChimp's knowledgebase 上的说明进行操作。您将需要您的用户名、正确的 us# 服务器、u 值(即前面描述的用户 ID)和 id 值(即列表 ID)。
【讨论】: