如何在PHP中验证Mailchimp API密钥?

时间:2015-12-07 03:04:10

标签: php validation mailchimp

如果Mailchimp API密钥在Mailchimp中有效或存在,如何验证它。我想将此密钥保存在数据库中,在此之前我需要验证给定的密钥。我看到了这个Question并且跟着它,它对我不起作用。它没有显示任何内容。

这是我的代码:

validateApiKey('xxxxxxxxxxxxxxxxxxxxxxxxxx-us1');

function validateApiKey($api_key)
{
$data = array(
    'apikey' => $api_key,
    'cid' => "CID",
);
$data = json_encode($data);


$submit_url = "https://us10.api.mailchimp.com/2.0/reports/opened.json";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $submit_url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

curl_setopt($ch, CURLOPT_USERAGENT, 'MailChimp-PHP/2.0.6');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
curl_setopt($ch, CURLOPT_TIMEOUT, 600);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_VERBOSE, true);

$result = curl_exec($ch);
curl_close ($ch);

$info = json_decode(json_encode(json_decode($result)), true);
print_r($info);
echo '<pre>';
var_dump($info);
echo '</pre>';

}

如何知道密钥是否有效。有什么建议吗?

1 个答案:

答案 0 :(得分:1)

提出请求。如果请求有效,则密钥有效。在v2.0中,您可以使用/2.0/helper/ping端点。在3.0中,根(/3.0/)是相似的。