Strava API, не может работать обмен токенов

0

Я могу получить авторизованный код, но тогда я не могу заставить токен обмен работать. Ответ я получаю NULL.

У кого-нибудь есть представление об этом, я часами с ним возился.

function tokenRequest($clientId, $clientSecret, $code){

$url =  'https://www.strava.com/oauth/token?';
$oauthFields = array(
    'client_id' => $clientId,
    'client_secret' => $clientSecret,
    'code' => $code);

$parameters = http_build_query($oauthFields);

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url.$parameters);
curl_setopt($ch, CURLOPT_POST, count($oauthFields));
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, TRUE);
$urlResponse = curl_exec($ch);

curl_close($ch);
return (json_decode($urlResponse));
}

if (isset($_GET['code'])){

   $code=$_GET['code'];
   echo "code is: " . $code . "</br>";
   $token = tokenRequest($clientId, $clientSecret, $code);
   var_dump($token);
}
else{echo "User denied access request";}
  • 0
    Вы пробовали print_r (curl_error ($ ch))?
  • 0
    Я не знал, что смогу сделать это. Ошибка: «Проблема с сертификатом SSL, убедитесь, что сертификат ЦС в порядке. Сведения: ошибка: 14090086: подпрограммы SSL: SSL3_GET_SERVER_CERTIFICATE: сбой проверки сертификата»
Показать ещё 1 комментарий
Теги:
curl

1 ответ

1
Лучший ответ

Поэтому, посмотрев сообщение об ошибке (спасибо Кевин), я изменил параметр CURL_SSL_VERIFYPEER с TRUE на FALSE. Эта строка кода теперь выглядит так:

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);

Следует также отметить, что я использую XAMPP, если кто-то еще столкнется с этой проблемой.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню