我正在尝试验证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);
非常感谢您的帮助!