Api vk получить email

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

Хоть и занимаясь веб разработкой, да и программированием в целом не так давно, мне все же пришлось столкнуться с API социальных сетей, таких как Facebook и Вконтакте. Робота с «лайками» и другими данными проходила на ура.

Но вот, попал в тупиковую ситуацию: как мне связать пользователей в общий аккаунт(проблема была следующая Вконтакте, в отличии от своего старшего брата, упорно не хотел отдавать email пользователя). Перечитав множество, форумов, разнообразных FAQ, пришел к выводу, что это все же невозможно. Мол, разработчики социальной сети, не хотят выдавать столь конфиденциальную информацию о своих пользователях. С этим пришлось смириться. Поставленная задача была решена другим способом, а в душе затаилась небольшая обида.

Но, мой пост, немного не об этом. Буквально сегодня наткнулся на следующий сайт: afisha.ru. На первый взгляд обычный сайт на просторах рунета. Но самое интересное для меня было внутри, когда я решил войти под пользователем.

Как получить текст объявления через API VK

image

Что бы долго не регистрироваться, я быстро нажал кнопку войти через Вконтакт и тут меня ждало первое удивление, стандартное окно, для запроса прав к приложению, не считая того, что оно может получить мой email.

После этого в личном кабинете, в личных данных, спокойно высветился, мой email.
Полез в интернет, там ни каких новостей нет на эту тему, в разделе Конаткта про API тоже тишина.

Новостей, про сто что Контакт все же отдает email, я не нашел.

Еще по теме:  Работа с api Вконтакте что это

Так что же, скоро и они нас этим порадуют? или это последствия апокалипсиса Майя?

  • вконтакте api
  • вконтакте email
  • социальные сети
  • Разработка веб-сайтов
  • ВКонтакте API

Источник: habr.com

Api vk получить email

Добрый день! Уже весь день мучаюсь, самому не удалось решить проблему. Делаю аутентификацию через соц сети, в частности, через Vk, но не могу получить email, указал scope, передал в fields, которые надо получить, как пользователь кликнул «Разрешить» использовать эти данные, но все равно пишет Notice: Undefined index: email in .
Подскажите в чем проблема. Спасибо!

Страница с самой аутентификацией:

$client_id = ‘555555555’ ; // ID приложения
$client_secret = ‘qwqwqwqwqwqwqwwqwqwqw’ ; // Ключ приложения
$redirect_uri = ‘http://localhost/user/site’ ; // Адрес сайта

Страница с обработчиком, куда делает редирект:

if (isset( $_GET [ ‘code’ ])) <
$result = false ;
$params = array(
‘client_id’ => $client_id ,
‘client_secret’ => $client_secret ,

Бесстыжая ЯНА / Массовое кидалово в автосалоне / Полиция опоздала


‘code’ => $_GET [ ‘code’ ],
‘redirect_uri’ => $redirect_uri
);

$token = json_decode ( file_get_contents ( ‘https://oauth.vk.com/access_token’ . ‘?’ . urldecode ( http_build_query ( $params ))), true );

if (isset( $token [ ‘access_token’ ])) $params =array(
‘uids’ => $token [ ‘user_id’ ],
‘fields’ => ‘uid,first_name,last_name,email’ ,
‘access_token’ => $token [ ‘access_token’ ]
);

$userInfo = json_decode ( file_get_contents ( ‘https://api.vk.com/method/users.get’ . ‘?’ . urldecode ( http_build_query ( $params ))), true );
if (isset( $userInfo [ ‘response’ ][ 0 ][ ‘uid’ ])) $userInfo = $userInfo [ ‘response’ ][ 0 ];
$result = true ;
>
>

if ( $result ) echo «Имя: » . $userInfo [ ‘first_name’ ] . ‘
‘ ;
echo «Фамилия: » . $userInfo [ ‘last_name’ ] . ‘
‘ ;
echo «Имейл: » . $userInfo [ ’email’ ] . ‘
‘ ;
>
>

Решение (email лежит в токене):
if (isset($userInfo[‘response’][0][‘uid’])) $userInfo[‘response’][0][’email’] = $token[’email’];
$userInfo = $userInfo[‘response’][0];
$result = true;
>

echo «Имейл пользователя: » . $userInfo[’email’] . ‘
‘;

Последний раз редактировалось Yan9; 23.10.2015 в 01:34 .

Еще по теме:  Vk admin не работает на Android

Источник: www.programmersforum.ru

Как получить адрес электронной почты от vk.api?

Я пытаюсь получить адрес электронной почты. После успешного входа у меня есть имя, фамилия, все, кроме электронной почты. пожалуйста, помогите.

VK.Auth.login(function (response) < if (response.session) < >else < >>, 4194304);
Evgeniy Shinkarenko 27 авг. 2014, в 15:55
Поделиться
почта только для сайтов (маска +4194304). vk.com/dev/permissions
Ivan Ivanov 18 сен. 2014, в 10:45
Поделиться:

5 ответов

Лучший ответ

Нет никакого способа сделать это. Vk — это определенная социальная сеть. У меня такая же проблема.

funivan 18 сен. 2014, в 10:22
Поделиться

Когда вы получаете токен доступа, VK также дает вам адрес электронной почты и идентификатор пользователя, но для этого вам нужно специальное разрешение — «электронная почта».

Andrey Banshchikov 10 апр. 2015, в 10:42
Поделиться

Это правильный ответ! Просто сделали id таким образом. Я был бы рад, если бы я мог сначала прочитать это, а затем просмотреть все другие места в Интернете. 🙂

Mr.TK 19 сен. 2016, в 19:08

Да, этот способ не дает электронной почты. Но есть способ получить электронную почту через OAuth (для сайтов vk.com/dev/auth_sites), email будет возвращен в параметрах GET вместе с токеном.

в Coffescript/Javascript вы можете использовать window.open(. )

appId = ‘your app id’ redirectUri = ‘your redirect uri’ url = ‘https://oauth.vk.com/authorize?client_id=’+appId+’redirect_uri=’+redirectUri+’scope=email’ newWin = window.open(url, ‘vk-login’, ‘width=665,height=370’)

И позже у вас есть два способа получить электронную почту

  • При перенаправлении обработчика uri (серверный путь)
  • переадресовывайте в любое место вашего сайта и каждую секунду проверяйте newWin.location.href a, когда это будет, если (newHref.indexOf(redirectUri)!= -1), то извлеките адрес параметра (путь клиента)

Источник: overcoder.net

Рейтинг
( Пока оценок нет )
Загрузка ...