Spatie / Newsletter:Laravel 5.6中提供的MailChimp无效的MailChimp API密钥

时间:2018-09-22 09:34:02

标签: php laravel laravel-5.6 newsletter mailchimp-api-v3.0

大家早上好,

我目前正在使用 laravel 5.6 博客中的 spatie / newsletter MailChimp 一起创建新闻通讯,用户可以订阅。

当我尝试订阅时,得到以下响应:

 "message": "Invalid MailChimp API key `` supplied.",
 "exception": "Exception",
 "file": 
 "C:\\...\\vendor\\drewm\\mailchimp-api\\src\\MailChimp.php",
 "line": 49,

我的控制器

<?php
namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Newsletter;
class SubscribeController
{

    public function subscribe(Request $request)
    {
        if (!filter_var($request->email, FILTER_VALIDATE_EMAIL)) {
            return "Die eingegebene Email ist nicht gültig.";
        } else {
            if (Newsletter::isSubscribed($request->email)) {
                return "Du bist bereits mit dieser Mail in meiner Mailingliste eingetragen.";
            } else {
                if (!(Newsletter::subscribeOrUpdate($request->email))) {
                    return "Leider gab es ein Problem, bitte versuche es später noch einmal.";
                } else {
                    return "Ihre Email " . $request->email . " wurde zu meiner Mailingliste hinzugefügt.";
                }
            }
        }
    }
}

Env File

MAILCHIMP_APIKEY=123456-us19
MAILCHIMP_LIST_ID=1234567

newsletter.php (运行后 php artisan vendor:publish -provider =“ Spatie \ Newsletter \ NewsletterServiceProvider”)

<?php

return [
    'apiKey' => env('MAILCHIMP_APIKEY'),

    'defaultListName' => 'nameOfListInMailChimp',

    'lists' => [
        'subscribers' => [

            'id' => env('MAILCHIMP_LIST_ID'),
        ],
    ],
    'ssl' => true,

];

我还添加了
Spatie\Newsletter\NewsletterServiceProvider::class,

进入app/config提供者以及

'Newsletter' => Spatie\Newsletter\NewsletterServiceProvider::class,

app/config中的别名。

我真的不知道为什么它现在无法正常工作。

我试图提供所有必要的信息。 Api密钥有效且状态正常。列表ID也有效。

先谢谢您! 多米

3 个答案:

答案 0 :(得分:0)

我自己找到了解决方案,花了我一段时间才弄清楚。

首先:在newsletter.php类中,当我配置列表时,我忘记将列表的名称从'subsribers'更改为'nameOfListInMailChimp'

我需要做的第二件事是:

  • php artisan config:cache

由于每次在.env文件中进行更改时,都必须清除缓存以使更改生效。

我希望这对其他人有帮助,基本上可以用作完整的《 Spatie新闻》配置方法;)

答案 1 :(得分:0)

在我的情况下,它适用于:

  • php artisan config:clear

  • php artisan config:cache

答案 2 :(得分:0)

我遇到了同样的问题.. 运行

php artisan cache:clear

为我工作