-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Многие сервисы базируют свою систему пользователей на данных из вконтакте. Эта система работает примерно вот так:
Первым делом необходимо создать и настроить приложение Вконтакте - переходим по ссылке, после чего заполняем все в данном виде
Заполняем все так, как я указал выше, подтверждаем создание приложения.
Если у вас уже имеется конфигурационный файл, то туда нужно будет вбить пару переменных, а точнее три. (url, code, id)
Сами переменные - ULR (Прямая ссылка на страницу со скриптом), CODE (Секретный код), ID (Id приложения), version
Все данные можно взять на странице с настройками приложения (вк)
Переходим в сам файл (скрипт)
Создаем ссылочку, в href вставляем следующий адрес -
Дальше - пишем обработчик информации по нажатию на кнопку. Вк нам возвращает гетом code.
Если что непонятно - пишите по определенному моменту, объясню.
Первым делом необходимо создать и настроить приложение Вконтакте - переходим по ссылке, после чего заполняем все в данном виде
Заполняем все так, как я указал выше, подтверждаем создание приложения.
Если у вас уже имеется конфигурационный файл, то туда нужно будет вбить пару переменных, а точнее три. (url, code, id)
Сами переменные - ULR (Прямая ссылка на страницу со скриптом), CODE (Секретный код), ID (Id приложения), version
Все данные можно взять на странице с настройками приложения (вк)
PHP:
define('id', 'x');
define('url', 'y');
define('code', 'z');
define('version', '5.52');
Переходим в сам файл (скрипт)
Создаем ссылочку, в href вставляем следующий адрес -
Из того, что может быть непонятно в ссылке - скоуп. Scope - это дополнительные данные, которые мы запрашивам у пользователя, в данном случае - это Вконтакте. Подробнее про разновидности скоупов можно почитать в документации.Пожалуйста, авторизуйтесь для просмотра ссылки.<?= id из конфига?>&display=page&scope=email&redirect_uri=<?=url из конфига?>&response_type=code
Дальше - пишем обработчик информации по нажатию на кнопку. Вк нам возвращает гетом code.
PHP:
<?php
if(isset($_GET['code'])) {
$token = json_decode(file_get_contents('https://oauth.vk.com/access_token?client_id='.id.'&redirect_uri='.url.'&client_secret='.code.'&code='.$_GET['code'].'&v='.version.''), true);
if ($token){
$data = json_decode(file_get_contents('https://api.vk.com/method/users.get?user_id='.$token['user_id'].'&email='.$token['email'].'&access_token='.$token['access_token'].'&fields=first_name,last_name,id,photo_max&v='.version.''), true);
if ($data){
$data = $data['response'][0];
$vk_data = array(
'name' => $data['first_name'];
'surname' => $data['last_name'];
'email' => $data['email'];
'uid' => $data['id'];
'photo' => $data['photo_max'];
var_dump($vk_data);
// записываем полученные данные
}else{
exit('Ошибка получения данных');
}
}else{
exit('Ошибка обработки данных');
}
}
?>
Последнее редактирование: