我是MailChimp的新手,需要帮助。
使用其基本的新闻快报注册表单…,您只需将一些预包装的HTML嵌入到页面中即可。但是,这样做的问题是,单击“提交”将重定向到MailChimp页面。(
我不想重定向到MailChimp,我希望用户点击“提交”后留在自己的网站上。 )
它们提供了API和大量文档,但几乎没有零实用示例。该API应该允许我与我的网站或应用程序进行完全集成。看来,当我在他们的文档中阅读适用于我的内容时,我点击了链接以获取更多信息,最后我转了一圈。他们告诉您如何做,但是他们没有“告诉”您如何做。
我可以获得API密钥,它们具有大量文档,以及大量包装器和插件… PHP,Drupal,Wordpress等…
关于他们的预打包解决方案,这里的困惑是我只有一个常规的静态HTML页面,而不是Wordpress,PHP或Drupal
…所以我只是不知道从哪里开始…我什至都不知道如果我应该使用POST
或GET
。
我不是API的新手…我非常擅长让Google Maps
API做我想做的事情。但是,Google除了提供详细的文档(我是如何学习的)之外,还提供了实际的工作示例。我只想在实际操作中看到它,然后才能掌握API的要点。
在其在线文档中没有任何可靠的示例或教程的情况下,我想问一下如何使用其API创建最基本的HTML注册表单。
编辑:
自发布此答案以来,MailChimp已发布了其API的版本2和3。
从2017年开始,版本3将成为唯一受支持的版本。一旦有机会对其进行测试,我将针对API版本3更新此答案。
根据此页面顶部的通知,
2016年之后将不再支持该API的所有早期版本。
我的解决方案在后台使用PHP处理API,并在jQuery中使用Ajax。
1)下载支持API
v3.0的PHP包装器。在撰写本文时,最新的支持v3.0的MailChimp文档中没有列出任何官方文档,但是GitHub上列出了一些文档,因此我选择了此文档。
2)store-address.php
使用您自己的API密钥和列表ID
创建以下PHP文件,然后将其放置在与第一步中的包装器相同的目录中。记住要遵循包装程序的文档,但是它们看上去都与此相似。
<?php // for MailChimp API v3.0
include('MailChimp.php'); // path to API wrapper downloaded from GitHub
use \DrewM\MailChimp\MailChimp;
function storeAddress() {
$key = "xxxxxxxxxxxxxxx-us1";
$list_id = "xxxxxx";
$merge_vars = array(
'FNAME' => $_POST['fname'],
'LNAME' => $_POST['lname']
);
$mc = new MailChimp($key);
// add the email to your list
$result = $mc->post('/lists/'.$list_id.'/members', array(
'email_address' => $_POST['email'],
'merge_fields' => $merge_vars,
'status' => 'pending' // double opt-in
// 'status' => 'subscribed' // single opt-in
)
);
return json_encode($result);
}
// If being called via ajax, run the function, else fail
if ($_POST['ajax']) {
echo storeAddress(); // send the response back through Ajax
} else {
echo 'Method not allowed - please ensure JavaScript is enabled in this browser';
}
3)创建HTML / CSS / JavaScript(jQuery)表单( 不需要在PHP页面上,并且访问者永远不会看到PHP在后台使用。 )
响应使用JSON,因此您必须正确处理它。
这是我的index.html
文件的样子:
<form id="signup" action="index.html" method="get">
First Name: <input type="text" name="fname" id="fname" />
Last Name: <input type="text" name="lname" id="lname" />
email Address (required): <input type="email" name="email" id="email" />
<input type="submit" id="SendButton" name="submit" value="Submit" />
</form>
<div id="message"></div>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#signup').submit(function() {
$("#message").html("Adding your email address...");
$.ajax({
url: 'inc/store-address.php', // proper url to your "store-address.php" file
type: 'POST', // <- IMPORTANT
data: $('#signup').serialize() + '&ajax=true',
success: function(msg) {
var message = $.parseJSON(msg),
result = '';
if (message.status === 'pending') { // success
result = 'Success! Please click the confirmation link that will be emailed to you shortly.';
} else { // error
result = 'Error: ' + message.detail;
}
$('#message').html(result); // display the message
}
});
return false;
});
});
</script>
( 原始答案 )
经过一段时间的摸索,我找到了一个使用PHP示例和jQuery的站点。由此,我能够使用包含基本注册表单的jQuery创建一个简单的HTML页面。PHP文件在后台被“隐藏”,用户永远不会看到它们,但jQuery仍然可以访问和使用。
1)在此处下载PHP 5 jQuery示例…( 编辑
:链接已失效。但是,唯一重要的部分是PHP的官方API包装器,可在此处使用。)
http://apidocs.mailchimp.com/downloads/mcapi-simple-subscribe-
jquery.zip
如果只有PHP 4,只需下载MCAPI的1.2版并替换MCAPI.class.php
上面的相应文件。
http://apidocs.mailchimp.com/downloads/mailchimp-api-
class-1-2.zip
2)按照自述文件中的指示,store-address.php
在适当的位置将API密钥和列表ID添加到文件中。
3)您可能还希望收集您的用户名和/或其他信息。您必须store-address.php
使用相应的合并变量将数组添加到文件中。
这是我的store-address.php
文件的样子,在这里我还收集了名字,姓氏和电子邮件类型:
<?php
function storeAddress() {
require_once('MCAPI.class.php'); // same directory as store-address.php
// grab an API Key from http://admin.mailchimp.com/account/api/
$api = new MCAPI('123456789-us2');
$merge_vars = Array(
'EMAIL' => $_GET['email'],
'FNAME' => $_GET['fname'],
'LNAME' => $_GET['lname']
);
// grab your List's Unique Id by going to http://admin.mailchimp.com/lists/
// Click the "settings" link for the list - the Unique Id is at the bottom of that page.
$list_id = "123456a";
if ($api->listSubscribe($list_id, $_GET['email'], $merge_vars , $_GET['emailtype'])) {
// It worked!
return 'Success! Check your inbox or spam folder for a message containing a confirmation link.';
} else {
// An error ocurred, return error message
return '<b>Error:</b> ' . $api->errorMessage;
}
}
// If being called via ajax, autorun the function
if($_GET['ajax']) {
echo storeAddress();
}
4)创建HTML / CSS / jQuery表单。它不需要在PHP页面上。
这是我的index.html
文件的样子:
<form id="signup" action="index.html" method="get">
First Name: <input type="text" name="fname" id="fname" />
Last Name: <input type="text" name="lname" id="lname" />
email Address (required): <input type="email" name="email" id="email" />
HTML: <input type="radio" name="emailtype" value="html" checked="checked" />
Text: <input type="radio" name="emailtype" value="text" />
<input type="submit" id="SendButton" name="submit" value="Submit" />
</form>
<div id="message"></div>
<script src="jquery.min.js"></script>
<script>
$(document).ready(function() {
$('#signup').submit(function() {
$("#message").html("Adding your email address...");
$.ajax({
url: 'inc/store-address.php', // proper url to your "store-address.php" file
data: $('#signup').serialize() + '&ajax=true',
success: function(msg) {
$('#message').html(msg);
}
});
return false;
});
});
</script>
必需品…
*如上所述或类似构造的 *index.html 。使用jQuery,外观和选项无穷无尽。
*在Mailchimp网站上作为PHP示例的一部分下载了 *store-address.php 文件,并使用您的 API KEY 和 LIST ID进行了修改 。您需要将其他可选字段添加到数组。
*从Mailchimp站点下载的 *MCAPI.class.php 文件(PHP 5版本1.3或PHP 4版本1.2)。将其放置在与 store-address.php 相同的目录中,或者必须更新 store-address.php中 的url路径才能找到它。
问题内容: 是否有任何方法可以将简单的mailchimp(一个电子邮件输入)与AJAX集成在一起,所以没有页面刷新,也没有重定向到默认mailchimp页面。 谢谢 问题答案: 您不需要API密钥,只需将标准mailchimp生成的表单放入代码中(根据需要自定义外观),然后将表单的“ action”属性更改为,然后在表单末尾进行操作附加以解决任何跨域问题。同样重要的是要注意,提交表单时必须使用GE
问题内容: 我正在按照此文档在Windows注册表中使用以下代码片段创建键/字符串: 但没有任何反应,没有任何错误。编辑(说明):在任何情况下均无效。 问题答案: 您仅在获得许可的情况下打开密钥,但是还需要成功调用。 您还应该检查的返回值,这很可能会告知您问题所在。
我必须使用Cognito API(不是用带有SDK的语言编码)。我使用Fiddler只是测试了一个最近创建的用户池和用户注册,但我不断得到:
安装企业微信移动客户端后,可先在手机上创建企业,先行体验企业微信的便捷高效。 手机创建企业 1 / 创建流程 01/05选择微信登录。 02/05进行登录授权。 03/05输入管理员的手机号码及企业邮箱帐号。 04/05填写公司名称及管理员真实姓名。 05/05创建成功,开始体验企业微信。 2 / 移动端补充营业执照 若想体验功能更完整的企业微信,建议在手机上认领企业,补充营业执照。认领后可获得1
在开始编写自己的数据库应用程序时,读者很快会遇到两个令人头痛的问题。一是在访问ODBC数据源前,必须在ODBC管理器中手工注册DSN(数据源名)。这样的应用程序要求用户作额外的工作,显得很不专业。另一个问题是AppWizard和ClassWizard并不支持表的创建,程序员似乎必须先用DBMS创建好表,然后才能使用。如果一个数据库应用程序不能自己创建表,那么它的功能将大打折扣。 事实上,通过一
下午好,我最近才开始与Kafka合作,我有一个关于制作人与模式的问题。 最初,我尝试在C#中构建一个没有模式的简单生产者。到目前为止,这是可行的,代码也在一个简短的版本中给出。 无模式生产者代码: 但是模式会给我带来问题(请参阅下一节)。 假设我给了一个消费者,比如说Python中的消费者,他使用以下方案来接收整数: 我现在想创建一个使用此方案并向Python消费者发送消息的C#生产者。根据该方案