我一直在研究这个问题几个小时,似乎无法找到解决方案,希望有人可以提供帮助!
我正在尝试在HTTPS站点上创建一个简单的MailChimp订阅表单,因此必须使用该API。我正在使用他们建议的“超级简单的mailchimp-api”PHP包装器,并且我正在尝试根据表单中选中的复选框将我的订阅者添加到兴趣组。所有相关的复选框都命名为“group []”,以便PHP将它们作为数组发布。
我将以下内容传递给包装器:
$MailChimp = new MailChimp('api_key_removed');
$result = $MailChimp->call('lists/subscribe', array(
'id' => 'list_ID_removed',
'email' => array( 'email' => $_POST['email'] ),
'merge_vars' => array( 'FNAME' => $_POST['fname'], 'LNAME' => $_POST['lname'], 'COMPANY' => $_POST['company'], 'STATE' => $_POST['state'],
'GROUPINGS' => array(
array(
'ID' => 14093,
'GROUPS' => $_POST['group']
)
)
),
'double_optin' => false,
'update_existing' => true,
'replace_interests' => false,
'send_welcome' => true
));
测试时,用户已正确创建,但未选择任何兴趣组。我仔细检查了分组ID和组名是否正确。我甚至尝试为GROUPS编写一个数组硬编码无济于事。
传递给API的merge_vars $ args的一个例子是:
[merge_vars] => Array
(
[FNAME] => Test
[LNAME] => Test
[COMPANY] =>
[STATE] => TAS
[GROUPINGS] => Array
(
[0] => Array
(
[ID] => 14093
[GROUPS] => Array
(
[0] => Invest
[1] => Deposit Bonds
)
)
)
)
据我所知,这是完全正确的,所以我只是不明白问题所在。谁能看到我做错了什么?或者API被破坏了吗?
由于
约什
答案 0 :(得分:5)
我没有回答这个“未答复”的问题,但发现它实际上已经在问题的评论中得到了解答。我正在复制评论,以反映问题已经得到答案。
OMG,5小时后我发现了这个问题!对于其他任何难过的人 通过这个 - 键(不是值)“分组”,“id”和“组”全部 需要小写。我真的不明白为什么所有的时候 其他领域在任何地方都被记录为大写且确实如此 当他们是大写时工作。我认为这是他们喜欢的一些残酷玩笑 在开发者上玩。 - Josh 2013年11月28日12:37
在较旧的API版本中,它们是大写的。他们改变了它 2.0。 - Daniel Rikowski 2014年3月16日21:49