MailChimp API DrewM \ MailChimp \ MailChimp :: call()调用未定义的方法

时间:2018-01-23 07:50:28

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

我正在尝试验证apikey但是如果用户输入apikey它应该从MailChimp帐户进行验证并且如果api密钥与MailChimp不匹配则应该显示无效密钥的消息,我会遇到这个问题。

我的代码:

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

当我点击此调用时,它说call to aundefined方法还有其他任何我可以验证apikey的方法。 任何帮助将不胜感激!

               namespace App\Http\Controllers;

                    use App\APIKEY;
                 use DrewM\MailChimp\MailChimp;
                use Illuminate\Auth\Access\Response;
                  use Illuminate\Http\Request;
                use Illuminate\Support\Facades\Auth;
                  use Illuminate\Support\Facades\DB;
                 use Illuminate\Support\Facades\Input;
              use Illuminate\Support\Facades\Mail;
            use Illuminate\Support\Facades\Validator;


          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());
        $mc = new MailChimp($api);
        $mailchimp_ping = $mc->get('/ping');
        if ($mailchimp_ping["status"] == 401) {
            return redirect()->back()->with("errorMessage","api key is invalid")->withInput(Input::all());
        }


        ///do here if api key is valid

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

1 个答案:

答案 0 :(得分:0)

制作cmd = "... && mv outputs/lib.cs $(location file1.cs)"。如果请求有效,则密钥为request。按照the Getting started guide, on how to build a C++ project链接发出valid个请求。它是ping的健康检查终点。

MailChimp API 3.0

这是您要求的完整控制器,工作正常 -

$mailchimp_ping = $mc->get('/ping');

dd($mailchimp_ping);