aaa
".$obj['error'].":".$obj['error_description'].$obj['access_token']);
echo("
code:".$_SESSION['code']);
?>
Вот, это мой код для авторизации Вконтакте, я запрашиваю ключ, гет запросом его мне возвращают.
Всё верно, ключ видно, всё работает.
После этого я делаю запрос с ключем(джейсон) с целью получить токен. В случае если токен есть выводится токен на экран, если его нет выводится сообщение об ошибке. У меня не разу за весь день не получилось подцепить токен.
Выдаёт следующее: invalid_grant:Code is invalid or expired.
Что делать подскажите.
Всё АПИ настроено, сайт зареган, секретный ключ получен.
Что не так? Не понимаю
Ответ
$app_id = "*****";
$app_secret = "******************";
$my_url = "http://*****.com/oauth/vk.php";
session_start();
$code = $_REQUEST["code"];
if(empty($code))
{
$dialog_url = 'http://api.vkontakte.ru/oauth/authorize?client_id='.$app_id.'&scope=offline&redirect_uri='.$my_url.'&response_type=code';
echo("");
}
else
{
$token_url = 'https://api.vkontakte.ru/oauth/access_token?client_id='.$app_id.'&client_secret='.$app_secret.'&code='.$code.'';
$params = json_decode(@file_get_contents($token_url));
print_r($params);
$graph_url = 'https://api.vkontakte.ru/method/getProfiles?uid='.$params->user_id.'&access_token='.$params->access_token.'&fields=photo,nickname';
$user = json_decode(@file_get_contents($graph_url));
$userResponse = $user->response[0];
if ($userResponse->uid != '')
{
print_r($userResponse);
echo ('Вы успешно авторизованны через вКонтакте');
}
else echo('Ошибки авторизации!');
}
?>
Комментариев нет:
Отправить комментарий