使用 MailChimp API 将电子邮件地址添加到列表时出错

Errors using MailChimp API adding email address to list

我正在尝试将电子邮件地址添加到我的 mailchimp 邮件列表中,但收到一条错误消息

Access Denied
You don't have permission to access "http://us9.api.mailchimp.com/3.0/lists/######/members/" on this server.
Reference #18.1e89655f.1546511382.213522b5

我刚刚创建了 API 密钥,之前没有对 MailChimp 做太多事情。我认为列表 ID 是正确的,我只是从浏览器 https://us9.admin.mailchimp.com/lists/members/?id=######

中实际列表的 URL 中抓取的
<?php

$email = '####@####.##';
$authToken = '#######################-us9';
$email_list = '######';

$postData = array(
    "email_address" => "$email", 
    "status" => "subscribed",
    "merge_fields" => array(
    "NAME"=> "",
    "PHONE"=> "")
);

$ch = curl_init('https://us9.api.mailchimp.com/3.0/lists/'.$email_list.'/members/');

curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_HTTPHEADER => array(
        'Authorization: apikey '.$authToken,
        'Content-Type: application/json'
    ),
    CURLOPT_POSTFIELDS => json_encode($postData)
));

$response = curl_exec($ch);

var_dump($response);

?>

API 列表 ID 与浏览器 ID 不同。 (不要问我为什么)。要找出 API 列表 ID,请使用 API 游乐场。 https://developer.mailchimp.com/

我认为您服务器的 IP 已被 Mailchimp 列入黑名单。您应该联系 Mailchimp 并询问服务器 IP 是否被列入黑名单。

对我来说这是一个暂时性错误,几分钟后就消失了。如果没有,那么 Akamai 可能以某种方式将您列入黑名单,您需要联系 Mailchimp (as Akamai does not handle Mailchimp specific requests directly)。

如果您查看响应 headers,它会显示 Server: AkamaiGHost,我认为这是 Mailchimp 正在使用的代理。此外,响应是 text/html,它与 Mailchimp's own documented error formats 不匹配——这是阻止您的代理而不是 Mailchimp 本身的另一个标志。