Laravel + Guzzle + MailChimp - 400 错误请求

Posted

技术标签:

【中文标题】Laravel + Guzzle + MailChimp - 400 错误请求【英文标题】:Laravel + Guzzle + MailChimp - 400 Bad Request 【发布时间】:2017-04-10 03:46:24 【问题描述】:

我在执行 Guzzle 请求时收到 400 Bad Request,这是我第一次使用 Laravel、Guzzle 和 Mailchimp,所以我差点咬断手指。我不明白我在这个问题上做错了什么。有人可以帮帮我吗?

$mailchimp = new Client(['base_uri' => 'https://us14.api.mailchimp.com/3.0/']);

$checkEmail = $mailchimp->request('POST', 'lists/ID/members/', [
        'headers' => [ 'Authorization' => 'apikey ' . config('globals.mailchimp_key') ],
        'json' => [
            'email_address' => $this->email,
            'status' => 'subscribed'
        ]
    ]);
return $checkEmail;

【问题讨论】:

【参考方案1】:

我认为您的标题格式不正确(请参阅docs)。 不如试试这种方式:

            $client = new \GuzzleHttp\Client();
            $res = $client->request('POST',       'https://us8.api.mailchimp.com/3.0/lists/6f0984e55f/members/', [
            'auth' => ['apikey', 'xxxxxxxxxxxxxx-us14'],
                'json' => [
                    'email_address' => 'example@example.com',
                    'status' => 'subscribed'
                ]
        ]);
        echo $res->getStatusCode();
        echo $res->getBody();  

【讨论】:

不起作用,得到了相同的结果。当我想检索数据时,我的标题工作,所以我认为这不是问题

以上是关于Laravel + Guzzle + MailChimp - 400 错误请求的主要内容,如果未能解决你的问题,请参考以下文章

Laravel - 无法处理 RequestException(Guzzle + MailChimp)

Laravel Guzzle 使用踩雷及指南

如何使用 Laravel 5.2 + Guzzle 6 存储 JWT 并授予用户访问权限

使用 PHPUnit 在 Laravel 控制器中进行单元测试 Guzzle

利用Guzzle实现另一种PHP异步发送邮件(laravel5.4)

如何在 Laravel 4 中自动加载 Guzzle?