如何在 laravel 5.5 中验证 Mailchimp api 密钥

Posted

技术标签:

【中文标题】如何在 laravel 5.5 中验证 Mailchimp api 密钥【英文标题】:How to validate Mailchimp api key in laravel 5.5 【发布时间】:2018-07-01 20:59:20 【问题描述】:

如果用户输入错误的 api 密钥,我想验证我的 mailchimp apikey 应该显示错误的 mailchimp api 的消息或异常:

我的代码是:

                 public function authenticateApiKey(Request 
                 $request)

    $fieldsValidation = [

        'api_key' => 'required|unique:apikey,api_key',

    ];
    $validator = Validator::make($request->all(), $fieldsValidation);

    if ($validator->fails()) 
        $resultArray = [
            'status' => 0,
            'message' => $validator->errors()->first(),
            'dataArray' => []
        ];
     else 
        $api = new APIKEY($request->all());

        $request->user()->apikey()->save($api);
        $resultArray = ['status' => 1, 'message' => 'Mailchimp Api key added into system successfully!', 'dataArray' => $api];
    
    return \Illuminate\Support\Facades\Response::json($resultArray, 200);

我正在根据登录用户保存我的 api 密钥,并且在此代码中,api 密钥未验证。 任何帮助将不胜感激。

【问题讨论】:

您有一个名为apikey 的表,其中有一列名为api_key,对吗? 是的,我的列名是 api_key 好的,还有一个名为apikey的表?至少你的验证规则是这么说的。 是的,我的表名是 apikey,列名是 api_key 我允许在这里输入任何 mailchimp apikey,这是不允许的任何方式,你可以确定这个问题的解决方案。 【参考方案1】:

试试这个:

else 
        $api = new APIKEY($request->all());
        $mailchimp = new \Mailchimp( $api);

       $mailchimp_ping = ($mailchimp->call('helper/ping'));

       if(!$mailchimp_ping)
            //key did not work
            //do stuff
       

        $request->user()->apikey()->save($api);
        $resultArray = ['status' => 1, 'message' => 'Mailchimp Api key added into system successfully!', 'dataArray' => $api];
    

如果 API 密钥无效,上述 call 将返回 false,如果密钥有效,它将返回如下内容:

array(1)  ["msg"]=> string(20) "Everything's Chimpy!" 

【讨论】:

不支持“调用”方法。它这么说 $Sapnesh Nail 如果我复制了你的“未找到类“Mailchimp”的确切代码 你能帮帮我吗? @syed1234 对不起,我不知道为什么它不起作用,但基本想法是使用 api 密钥发出请求。如果有错误捕获它并抛出关键无效异常(只是一条消息)。 你能告诉我如何使用 apikey 提出请求

以上是关于如何在 laravel 5.5 中验证 Mailchimp api 密钥的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 5.5 中验证 Mailchimp api 密钥

如何使用 Laravel 5.5 身份验证使电子邮件登录不区分大小写

在 laravel 5.5 的验证 csrf 令牌中没有收到错误令牌不匹配异常

如何在 Laravel 5.5 中为选定的请求类设置自定义响应

如何在 Laravel 5.5 的 FormRequest 类中返回自定义响应?

Laravel 5.5 无法在表单请求类中制作验证器