在 MailChimp API V3 中订阅用户给出错误的响应
Subsrcibe a user in MailChimp API V3 give bad response
当我尝试在 mailchimp 上订阅用户时,它给出了下面粘贴的错误响应:
‹<»nÃ0E…Вű2tòèt+ŠB‘[€.I¹0‚ü{i»è(Þ‹ÃC=Œ¬3šÁL"ó
mÀS'úìbòSÌsïk¶¡ú–±ˆ“X‹ýÏìØb@¶HTé<¦Êìhµ¦3%mÜ·²¸\'k#±R›áåréL@Q∼ß'ú +·[Ž"À×–”pCØQNÇ=¼V‚{ÄÈ<£÷èá@qŒ¢¸Ó®Å'pDníuu,º¼øML_Gl†‡ÙQÇ4£1n•+~•H ±§?H¸«ÌT½;€ÛW|¹TÍóóùÿÿI*¯Q`
这里是 PHP 代码:
$apiKey = 'YOUR API KEY';
$listId = 'YOUR LIST ID';
$url2 = 'https://us12.api.mailchimp.com/3.0/lists/'.$listId.'/members/';
$args = array(
'email' => 'abc@xyz.com',
'status' => 'subscribed',
'merge_fields' => array(
'first_name' => 'WOW',
'last_name' => 'WOW',
'mobile'=>'',
'message'=>'',
'ID'=>'000'
));
function syncMailchimp($url,$apiKey,$args) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_USERPWD, "user apikey:" . $apiKey);
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
是服务器发送了错误数据还是客户端使用了错误的编码,我该如何解决?
将名为 email
的密钥更改为 email_address
似乎已修复它。也许那个坏密钥导致服务器呕吐。
$args = array(
'email' => 'abc@xyz.com',
'status' => 'subscribed',
'merge_fields' => array(
'first_name' => 'WOW',
'last_name' => 'WOW',
'mobile'=>'',
'message'=>'',
'ID'=>'000'
));
到
$args = array(
'email_address' => 'abc@xyz.com',
'status' => 'subscribed',
'merge_fields' => array(
'first_name' => 'WOW',
'last_name' => 'WOW',
'mobile'=>'',
'message'=>'',
'ID'=>'000'
));
当我尝试在 mailchimp 上订阅用户时,它给出了下面粘贴的错误响应:
‹<»nÃ0E…Вű2tòèt+ŠB‘[€.I¹0‚ü{i»è(Þ‹ÃC=Œ¬3šÁL"ó
mÀS'úìbòSÌsïk¶¡ú–±ˆ“X‹ýÏìØb@¶HTé<¦Êìhµ¦3%mÜ·²¸\'k#±R›áåréL@Q∼ß'ú +·[Ž"À×–”pCØQNÇ=¼V‚{ÄÈ<£÷èá@qŒ¢¸Ó®Å'pDníuu,º¼øML_Gl†‡ÙQÇ4£1n•+~•H ±§?H¸«ÌT½;€ÛW|¹TÍóóùÿÿI*¯Q`
这里是 PHP 代码:
$apiKey = 'YOUR API KEY';
$listId = 'YOUR LIST ID';
$url2 = 'https://us12.api.mailchimp.com/3.0/lists/'.$listId.'/members/';
$args = array(
'email' => 'abc@xyz.com',
'status' => 'subscribed',
'merge_fields' => array(
'first_name' => 'WOW',
'last_name' => 'WOW',
'mobile'=>'',
'message'=>'',
'ID'=>'000'
));
function syncMailchimp($url,$apiKey,$args) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_USERPWD, "user apikey:" . $apiKey);
curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/3.0');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($args));
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST');
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
是服务器发送了错误数据还是客户端使用了错误的编码,我该如何解决?
将名为 email
的密钥更改为 email_address
似乎已修复它。也许那个坏密钥导致服务器呕吐。
$args = array(
'email' => 'abc@xyz.com',
'status' => 'subscribed',
'merge_fields' => array(
'first_name' => 'WOW',
'last_name' => 'WOW',
'mobile'=>'',
'message'=>'',
'ID'=>'000'
));
到
$args = array(
'email_address' => 'abc@xyz.com',
'status' => 'subscribed',
'merge_fields' => array(
'first_name' => 'WOW',
'last_name' => 'WOW',
'mobile'=>'',
'message'=>'',
'ID'=>'000'
));