PHP - 使用Mailchimp API订阅组

3

我按照Drewm/Mailchimp API的指导将自定义表单集成到Mailchimp中。

我成功地将用户订阅到了我的列表。但是当我包含“订阅到组”这行代码时,整个功能都无法工作,甚至“订阅到列表”也不再起作用。

但是当我删除“订阅到组”时,“订阅到列表”又能正常工作了。

以下是我的代码:

include 'MailChimp.php';

$MailChimp = new \Drewm\MailChimp('ab4dc1be0f31933f5f8bcdc82231a47d-us4');
$result = $MailChimp->call('lists/subscribe', array(
    'id'                => '0c043be204',
    'email'             => array('email'=>$email),
    'merge_vars'        => array('FNAME'=>$firstname, 'LNAME'=>$lastname),
    //                     'groupings' => array(
    //                         array( 
    //                             'id' => 19361, 
    //                             'groups' => array($_POST['group'])
    //                         ) 
    //                     )
    // ),
    'double_optin'      => false,
    'update_existing'   => true,
    'replace_interests' => false,
    'send_welcome'      => false,
));

print_r($result);

我的HTML表单长这样:

<div class="col-md-6">
    <label>Email Address</label><br>
    <input name="Email" type="email" required="required" id="Email" placeholder="Email">

    <label>First Name</label><br>
    <input name="FirstName" type="text" required="required" id="FirstName" placeholder="First Name">

    <label>Last Name</label><br>
    <input name="LastName" type="text" required="required" id="LastName" placeholder="Last Name">

    <div id="group">
    <label>Areas of Interest</label><br>
    <input name="group[]" type="checkbox" id="Interest1" class="interest"><label>Turf</label><br>
    <input name="group[]" type="checkbox" id="Interest2" class="interest"><label>Landcare</label><br>
    <input name="group[]" type="checkbox" id="Interest3" class="interest"><label>Landscaping</label><br>
    <input name="group[]" type="checkbox" id="Interest4" class="interest"><label>Landscaping Architects</label><br>
    <input name="group[]" type="checkbox" id="Interest5" class="interest"><label>Nurseries</label>
</div>

我不知道我错过了什么或代码有何问题。希望有人能帮助我。谢谢!

你从API那里收到了什么错误信息? - TooMuchPete
没有错误,只是它没有按照预期执行。当我运行上面的代码时,它可以正常工作。但是当我删除注释并在“$lastname”上删除“)”时,它就不能正常工作了。 - Jnpkz
"不起作用" 是什么意思?是指根本没有为用户订阅吗?你从 MailChimp 收到的实际响应主体是什么? - TooMuchPete
是的,当我包含已注释的代码时,它不会订阅用户。而且Mailchimp也没有响应。 - Jnpkz
1个回答

0
经过两天的努力,我终于搞明白了!代码结构是正确的,我的问题在于我使用了错误版本的API。之前,我没有注意到我下载的是Mailchimp API 2.0+,但是对于我上面的代码,我应该使用API 1.0+版本。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接