我正在创建一个网站以查看通过API提供给我的结果。因此,首先,我从邮递员生成了访问令牌,然后将其包含在API标头中。然后,我尝试使用cURL生成访问令牌。但是,它总是给我以下错误。
{#480▼+“ error_description”:“缺少grant_type参数值”
+“错误”:“ invalid_request”}
我该如何解决??
这是我用来生成访问令牌的控制器。 (AccessToken.php)
public function authticate(){
$tokengen = "base64(clientid:clientsecret)";
$url = 'http://api.gate.com.:8254/token?=';
$tokengenheaders = array(
'grant_type: client_credential',
'Content-Type: application/x-www-form-urlencoded',
'Authorization: Basic '.$tokengen
);
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_HTTPHEADER, $tokengenheaders);
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
$tokenid = curl_exec($ch2);
curl_close($ch2);
return $tokenid;
}
这里是具有API的控制器。(SLAPIControoler.php)
public function SearchSchedule(Request $request)
{
$StartCity = $request->input('StartCity');
$EndCity = $request->input('EndCity');
$StartDate = $request->input('StartDate');
$StartTime = $request->input('StartTime');
$EndTime = $request->input('EndTime');
$Lang = 'en';
$auth = new AccessToken();
$authtoken = json_decode($auth->authticate());
// dd($authtoken); die();
$url = "http://api.gate.com:8253/bus/1.0/searchTrain?startStationID=".$StartCity."&endStationID=".$EndCity."&searchDate=".$StartDate."&startTime=".$StartTime."&endTime=".$EndTime."&lang=".$Lang;
$headers2 = array(
'Authorization: Bearer ' . $authtoken,
'Content-Type: application/json'
);
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_URL, $url);
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers2);
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
//curl_setopt($ch2, CURLOPT_POSTFIELDS, json_encode($decodedjsonarray));
// echo(curl_exec($ch2));
$results = json_decode(curl_exec($ch2));
curl_close($ch2);
dd($results); die();
//$GetCities = DB::table('airports')->get();
//$resultsets = array("data" => $results, "totaltravlers" => $AllThePassengers, "faredetails" => $revalidationarray, "GetCities" => $GetCities);
//return view('Metro.reviewpage')->with('resultsets', $resultsets);
}