Ну, я пытаюсь создать запрос цены на Uber Ride, используя API, но у меня ничего не получается .. Я не понимаю, что происходит с кодом, чтобы выдать эти ошибки, я буду печатать и помещать код здесь, если вы можете мне помочь, я буду признателен за это …
Это ошибка:
Примечание: неопределенный индекс: код в C: \ xampp \ htdocs \ index.php в строке 20
Примечание: неопределенная переменная: fields_string в C: \ xampp \ htdocs \ index.php
в строке 11 {«error»: «invalid_grant»}
Мой index.php:
<?php
function fetchUrl($url,$code){
$fields = array(
'client_id' => "ibhY[.....]BI6",
'client_secret' => "vMq[.....]6-ga[.....]rqU-[.....]",
'grant_type' => "authorization_code",
'redirect_uri' => "http://localhost:80/request.php",
'code' => $code
);
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$result = curl_exec($ch);
curl_close($ch);
}
$data = fetchUrl('https://login.uber.com/oauth/v2/token', $_GET['code']);
$data = json_decode($data);
print_r($data);
Мой request.php
<?php
$token = "KA.eyX[....................................]5jk";$header = array(
"Authorization: Token $token",
"Content-Type: application/json",
"Accept-Language: en_US");
// CALCULATE FAIR
$url = "https://api.uber.com/v1.2/estimates/price?start_latitude=37.7752315&start_longitude=-122.418075&end_latitude=37.7752415&end_longitude=-122.518075";$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_USERPWD, $token);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$output1 = curl_exec($curl);
echo "<pre>";
print_r($output1);
Следующая ошибка:
Notice: Undefined index: code in C:\xampp\htdocs\index.php on line 20
относится к следующей строке кода:
$data = fetchUrl('https://login.uber.com/oauth/v2/token', $_GET['code']);
Это говорит о том, что код авторизации не передается в ваш index.php
скрипт.
Вам нужно получить авторизацию от пользователя, чтобы получить код. Документацию о том, как это сделать, можно найти здесь:
Получив этот код, вы сможете запрашивать и получать доступ к токену и делать запросы от имени пользователя (например, получать оценки цен).
Других решений пока нет …