在laravel

时间:2018-01-24 04:53:17

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

我正在尝试验证apikey,我在这里的情况就是当我作为用户输入apikey时xxxxxxxxxxxxxxxx-us17我在数据库中保存这个apikey作为user_id当我输入此密钥时我想要的这个密钥应该从mailchimp检查如果用户输入的有效apikey如果有效,那么就好了。如果它不存在消息无效的api密钥。在我这边允许输入任何不允许的任何randon apikey。

我试图在几天内解决这个问题: 这是我的完整控制器:                                    

namespace App\Http\Controllers;

use App\APIKEY;
use DrewM\MailChimp\MailChimp;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;
use Mailchimp\MailchimpFacade;



class ApiController extends Controller
 {

 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());
        $mailchimp_ping = new MailChimp($api);
        print_r($mailchimp_ping);die;
        $mailchimp_ping = $mailchimp_ping->get('/helper/ping');
        if (!$mailchimp_ping) {

            $errorResponse = [
                'message' => 'Not valid api key!',
                'error' => '401'
            ];
            return \Illuminate\Support\Facades\Response::json($errorResponse);
        }

        else

            {

            $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);
        }
    }
}

我试图从maiilchimp验证apikey的主要代码是:

        $api = new APIKEY($request->all());
        $mailchimp_ping = new MailChimp($api);
        print_r($mailchimp_ping);die;
        $mailchimp_ping = $mailchimp_ping->get('ping');
        if (!$mailchimp_ping) {

            $errorResponse = [
                'message' => 'Not valid api key!',
                'error' => '401'
            ];
            return \Illuminate\Support\Facades\Response::json($errorResponse);

非常感谢您的帮助!

0 个答案:

没有答案