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 );
您需要使用 try
和 catch
。 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);
}
我正在使用 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 );
您需要使用 try
和 catch
。 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);
}