Intereting Posts
Mysql Дата запроса> = 90 дней Json_decode со специальными символами Как правильно обрабатывать международный характер в PHP / MySQL / Apache move_upload_file, возвращает false, но все еще работает и не работает корректно Приложение с управлением сеансом на стороне сервера Невозможно экспортировать xlsx или xls в правильном формате, все данные смешаны Почему возникает эта ошибка PHP: «Строгие стандарты: mysqli :: next_result (): следующего набора результатов нет».? Функция PHP mail () не будет отправляться в gmail, но будет отправлена ​​на мою учетную запись, отличную от gmail. Влиять на безопасность Laravel 5 при изменении структуры папок для удаления общей папки как правильно использовать webSockets в Symfony2 Как определить «Google Chrome» в качестве пользовательского агента с помощью PHP? Как изменить png с прозрачностью в PHP? Вставить новый элемент в массив в любой позиции в PHP Как сгенерировать все перестановки строки в PHP? Неустранимая ошибка: допустимый размер памяти 268435456 байт исчерпан (пытался выделить 71 байт)

Как получить электронную почту от facebook

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

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

$fql = 'SELECT contact_email FROM user WHERE uid = '.$user; $res = $facebook->api(array('method' => 'fql.query', 'query' => $fql)); 

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

Solutions Collecting From Web of "Как получить электронную почту от facebook"

используйте facebook->getLoginUrl с разрешениями электронной почты, см. https://developers.facebook.com/docs/reference/login/email-permissions/ ( scope' => 'email' ).

facebook.php :

 <? error_reporting(E_ALL); ini_set('display_errors','on'); require 'facebook-php-sdk-master/src/facebook.php'; $facebook = new Facebook(array( 'appId' => <YOUR AppId>, 'secret' => <YOUR APPsecret>, )); $applicationurl = 'http://testdrive.nl/facebook.php'; // Get User ID $user = $facebook->getUser(); if(empty($user)) { $params = array( 'scope' => 'email', 'redirect_uri' => $applicationurl ); $loginUrl = $facebook->getLoginUrl($params); header('Location: ' . $loginUrl ."\r\n"); exit; } $fql = 'SELECT contact_email FROM user WHERE uid = '.$user; $res = $facebook->api(array('method' => 'fql.query', 'query' => $fql)); //var_dump($res); echo $res[0]['contact_email']; 

Для получения адреса электронной почты вам потребуется дополнительное разрешение от ваших пользователей. Это разрешение точно называется email .

В зависимости от вашего метода аутентификации и входа пользователя, вам нужно будет добавить это разрешение email к своему параметру области. Этот параметр области, где вы добавляете дополнительные разрешения для запроса от своего пользователя. Вы можете запрашивать эти разрешения, поскольку пользователь устанавливает ваше приложение, но вы также можете запросить разрешение после того, как пользователь установил ваше приложение.

Для получения дополнительной информации о разрешении электронной почты ознакомьтесь с этой ссылкой на соответствующую документацию.