【发布时间】:2018-07-01 23:20:41
【问题描述】:
我正在尝试验证 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);
}
}
【问题讨论】:
标签: php laravel mailchimp-api-v3.0