尝试通过API将成员添加到MailChimp列表时出错

时间:2017-12-04 13:06:04

标签: php mailchimp mailchimp-api-v3.0

我已经调整了代码,我认为我越来越接近解决方案,但仍然收到错误。

public function onPluginsInitialized()
    {
         $this->add_member();
    }

public function add_member() {
    require __DIR__.'/vendor/autoload.php';

    $url = 'url';
    $api_key = 'api_key';
    $list_id = 'list_id';

    $client = new \GuzzleHttp\Client();

    $result = $client->request('POST', $url.'lists/'.$list_id.'/members', [
        'headers' => [
            'Authorization' => 'apikey '.$api_key,
            'json' => [
                'email_address' => $_POST['email'],
                'email_type'    => 'html',
                'status'        => 'subscribed'
            ]
        ],
        'verify' => false,
        'debug' => false
    ]);
}

这是我得到的错误:

'未定义索引:电子邮件'我应该在哪里定义电子邮件?如何从表单中捕获它?

我试图关注this example。但是,我的语法不同。我将补充说,我的语法原因取决于我正在尝试使用GRAVGuzzle创建插件。

1 个答案:

答案 0 :(得分:0)

好的,我终于把它整理好了。我发布了答案,万一其他人会在那个问题上挣扎。

'headers' => [
            'Authorization' => 'apikey '.$api_key,
],
'json' => [
        'email_address' => $_POST['email'],
        'email_type'    => 'html',
        'status'        => 'subscribed'
]

基本上' json'数组不应该在'标题中。另外,删除' debug'并且'验证'。