2016-10-24 1 views
0

Как только пользователь Uber аутентифицирует и авторизует мое приложение, я получаю код авторизации, но я не могу обменять код авторизации для access_token.Не удалось обменять код Uber API для токена доступа для получения данных о текущей поездке

Я пытаюсь извлечь текущую информацию поездки с помощью: https://developer.uber.com/docs/trip-experiences/references/api/v1-requests-current-get

// uber.php 

echo $_GET['code']."<br>"; 
$token = curl_init(); 

$param = array(
    'client_secret' => 'xxxxxxxxxxxxxx', 
    'client_id' => '_xxxxxxxxxxxxxxxxxxxxxx', 
    'grant_type' => 'authorization_code', 
    'redirect_uri' => 'http://localhost/uber/uber.php', // (the same as in app settings) 
    'code' => "{$_GET['code']}" 
    ); 

$postData = ''; 
foreach($param as $k => $v) 
    { 
     $postData .= $k . '='.urlencode($v).'&'; 
    } 
$postData = rtrim($postData, '&'); 
curl_setopt($token, CURLOPT_URL, 'https://login.uber.com/oauth/v2/token'); 
curl_setopt($token, CURLOPT_HEADER, true); 
curl_setopt($token, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($token, CURLOPT_POST, true); 
curl_setopt($token, CURLOPT_POSTFIELDS, $postData); 
$returned_token = curl_exec($token); 
curl_close($token); 

echo "<hr>"; 
echo $returned_token; 
echo "<hr>"; 

Я получаю пустой вывод.

+0

Существует вероятность ошибки в ваших почтовых параметров. Вы должны использовать сообщество php sdk: https://github.com/stevenmaguire/uber-php –

+0

addded this: curl_setopt ($ token, CURLOPT_HTTPHEADER, array ('Content-Type: application/x-www-form-urlencoded')); – Sandy505

ответ

1

addded это:

curl_setopt($token, CURLOPT_HTTPHEADER, array('Content-Type: application/x-www-form-urlencoded')); 

и проблема была решена ... :-)