我正在尝试验证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);
}
}
答案 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);