Я создал приложение. Существует форма, в которой есть два поля электронной почты и имя. Существует кнопка, которая позволяет вам входить в систему с помощью facebook, после чего она получит имя пользователя и адрес электронной почты.
Я пробовал много способов. Я могу получить имя и другие детали, но я не мог получить электронную почту пользователя. Я также использовал fql для получения электронной почты, но не получил. Ниже приведен код. Я хочу получить это PHP.
$fql = 'SELECT contact_email FROM user WHERE uid = '.$user; $res = $facebook->api(array('method' => 'fql.query', 'query' => $fql));
Может кто-нибудь скажет мне, как получить электронную почту. Любая помощь будет заметна.
используйте 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
к своему параметру области. Этот параметр области, где вы добавляете дополнительные разрешения для запроса от своего пользователя. Вы можете запрашивать эти разрешения, поскольку пользователь устанавливает ваше приложение, но вы также можете запросить разрешение после того, как пользователь установил ваше приложение.
Для получения дополнительной информации о разрешении электронной почты ознакомьтесь с этой ссылкой на соответствующую документацию.