Я прочитал этот пост снова и снова, и все же это не имеет смысла для меня.
То, что я пытаюсь сделать, это получить адрес электронной почты пользователя Facebook, чтобы я мог сохранить его в строке и сравнить, чтобы увидеть, совпадает ли он с электронными письмами существующих пользователей в моей базе данных MySQL. Мне нужно делать это только тогда, когда пользователь впервые предоставляет права доступа к приложению.
В разделе «Аутентифицированные рефералы» в интерфейсе разработчика моего приложения я установил для «Полномочия пользователя и друга» включение «электронной почты».
В области "canvas" моего сайта у меня есть этот код:
include('facebook/base_facebook.php');
include('facebook/facebook.php');
$facebook = new Facebook(array(
'appId' => "XXXXXXXXXXXXXXX",
'secret' => "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
));
$user = $facebook->getUser();
if ($user)
{
try {
$user_profile = $facebook->api('/me');
} catch (FacebookApiException $e) {
$user = null;
}
}
Если я использую var_dup () $ user, я вижу идентификатор пользователя (хотя и немного другой), который кажется правильным, поэтому я считаю, что подключаюсь в нужном месте на Facebook.
Но затем была эта предложенная строка кода , которая подразумевает, что он возвращает адрес электронной почты, но когда я выводю его, чтобы посмотреть, как он выглядит, он не возвращает адрес электронной почты:
echo "<br/>" . $facebook->getLoginUrl(array('req_perms' => 'email'));
Я как бы думал, что это не так, поскольку мне это не совсем подходит, но, с другой стороны, я просто не знаю, что еще с этим делать и где его поставить.
А потом я также натолкнулся на этот пост , в котором есть код, смешанный с HTML, что еще больше сбивает меня с толку.
Если предположить, что мой пользователь разрешил моему приложению просматривать свою электронную почту, разве нет простого способа получить это? Что-нибудь такое неопытный программист, как я, может понять?