【问题标题】:Errors when trying add a member to MailChimp list via API尝试通过 API 将成员添加到 MailChimp 列表时出错
【发布时间】:2018-05-17 23:05:33
【问题描述】:

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

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。但是,我的语法不同。我要补充一点,我的语法的原因是因为我正在尝试为GRAV 创建一个插件,同时使用Guzzle

【问题讨论】:

  • 最好在这里发布您的问题codereview.stackexchange.com
  • 您确实需要提供更多关于您遇到的问题的详细信息,而不仅仅是“出了什么问题?”你期待什么,发生了什么/没有发生什么?你有任何错误吗?等等等等。
  • 另外我真的,真的真的建议不要发送未转义的$_POST 值。你这样做是在为一个充满伤害的世界做好准备。
  • 401 也是“未经授权的”,因此问题很可能在于您的 MailChimp 设置。将您的域、权限集等列入白名单
  • 感谢您在发表第一条评论之前阅读我的帖子主题。具体来说,它说:"status":401,"detail":"Your request did not include an API key.",

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


【解决方案1】:

好的,我终于把它整理好了。我会发布答案,以防其他人遇到这个问题。

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

基本上'json'数组不应该在'headers'中。此外,删除了“调试”和“验证”。

【讨论】:

    猜你喜欢
    • 2016-02-08
    • 2018-03-09
    • 2016-11-18
    • 2021-09-24
    • 2021-10-28
    • 2023-02-11
    • 2019-02-03
    • 2019-07-12
    • 2019-05-29
    相关资源
    最近更新 更多