Не работает авторизация Вконтакте PHP API

110
12 июля 2021, 05:20

Пытаюсь сделать авторизацию на PHP через api вконтакте. Вот код:

<?php
$app_id = "<app_id>";
$app_secret = "<app_secret>";
$my_url = "https://mysite.ru/testapi2/vk/";
session_start();
$code = $_REQUEST["code"];
if(empty($code))
{
    $dialog_url = 'https://api.vk.com/oauth/authorize?client_id='.$app_id.'&scope=offline&redirect_uri='.$my_url.'&response_type=code';
    echo("<script> top.location.href='" . $dialog_url . "'</script>");
}
else
{
    $token_url =  'https://api.vk.com/oauth/access_token?client_id='.$app_id.'&client_secret='.$app_secret.'&code='.$code.'';
    echo $token_url;
    $params = json_decode(@file_get_contents($token_url));
    print_r($params);
    $graph_url = 'https://api.vk.com/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('Ошибки авторизации!');
}
?>

Пример взят отсюда Авторизация Вконтакте не работает

Мне выдаёт сообщение "Ошибки авторизации!". Я решил в echo вывести полную ссылку

$token_url =  'https://api.vk.com/oauth/access_token?client_id='.$app_id.'&client_secret='.$app_secret.'&code='.$code.'';
echo $token_url;. 

Потом эту ссылку добавить в строку браузера и перешёл, чтобы проверить получу я токен или нет, в итоге вывело следующее сообщение

{"error":"invalid_grant","error_description":"Code is invalid or expired."}.

В чём может быть проблема?

READ ALSO
Как отсортировать товар по категориям

Как отсортировать товар по категориям

Как отсортировать товар по категориям, чтобы товар выводился по очереди по 1 товару из категории, например, у нас есть

124
Spring Boot игнорирует CSS / JS при загрузке страницы

Spring Boot игнорирует CSS / JS при загрузке страницы

Моя страница (ordermustache) использует несколько стилей CSS (внешних и локальных), изображения, фоновое видео и JS-элемент

113
Как использовать rxjava для передачи сообщений?

Как использовать rxjava для передачи сообщений?

У меня есть поток который принимает посылки по UART

91