Mailchimp PHP api v.2,用户已存在或取消订阅 returns 错误

Mailchimp PHP api v.2, User already exists or unsubscribe returns error

我正在使用 Mailchimp v.2 API PHP 包装器来处理订阅... https://bitbucket.org/mailchimp/mailchimp-api-php 但是,如果订阅者已存在于列表中或订阅者已取消订阅,它 returns 一个错误,我想知道一种方法,我可以将其编码为如果存在任何一种情况,它将继续 运行 代码而不显示错误。如果这是一个简单的问题,我很抱歉。

$api_key = "XXXXXXXXX";
$list_id = "XXXXXX";
require('Mailchimp.php');
$Mailchimp = new Mailchimp( $api_key );
$Mailchimp_Lists = new Mailchimp_Lists( $Mailchimp );
$merge_vars = array('FNAME'=>htmlentities($_POST['stripeFirstName']), 'LNAME'=>htmlentities($_POST['stripeLastName']) );
    $subscriber = $Mailchimp_Lists->subscribe( $list_id, array( 'email' => htmlentities($_POST['stripeEmail']) ), $merge_vars );

您需要使用 trycatch。 Mailchimp 对出了什么问题非常详细。

try {
    $result = $Mailchimp_Lists->subscribe(
        $list_id,
        array(/* ... */), // primary subscriber data
        array(/* ... */), // merge fields
        'html', // email-type preference
        false // double-opt-in
    );
    // Action for successful subscribe attempt.
} catch (\Exception $e) {
    if ($e instanceof \Mailchimp_List_AlreadySubscribed) {
        // In case they are already subscribed:
        $errors[] = $e->getMessage();
    } else {
        // In case something else went wrong.
        $errors[] = 'There was an error adding your email to the list. Would you mind trying again?';
    }

    // Debug time!
    var_dump($errors);
}