Php 如何在登录后从facebook api用户获取用户电子邮件

Php 如何在登录后从facebook api用户获取用户电子邮件,php,facebook,Php,Facebook,我有一个问题,在用户登录后使用facebook api从facebook检索用户电子邮件地址,我在stackoverflow上查看了许多与此相关的帖子,但仍然无法解决我的问题 已查看链接 这是我的密码 require 'facebook.php'; $facebook = new Facebook(array( 'appId' => $client_id, 'secret' => $client_secret, )); // Get User ID

我有一个问题,在用户登录后使用facebook api从facebook检索用户电子邮件地址,我在stackoverflow上查看了许多与此相关的帖子,但仍然无法解决我的问题

已查看链接

这是我的密码

require 'facebook.php';

 $facebook = new Facebook(array(
  'appId'  => $client_id,
  'secret' => $client_secret,
));

    // Get User ID
    $user = $facebook->getUser();

    if ($user) {
      try {
        // Get the user profile data you have permission to view
        $user_profile = $facebook->api('/me');

        echo "<pre>";
        print_r($user_profile);
        echo "</pre>";

      } catch (FacebookApiException $e) {
        $user = null;
      }
    } else {
      die('<script>top.location.href="'.$facebook->getLoginUrl().'";</script>');
    }

        $loginUrl = $facebook->getLoginUrl(array(
        'scope'         => 'email, read_stream, publish_stream, user_birthday, user_location, user_work_history, user_hometown, user_photos'
        ));

    echo $user_profile['email'];
需要“facebook.php”;
$facebook=新的facebook(数组)(
“appId”=>$client\u id,
“机密”=>$client\u secret,
));
//获取用户ID
$user=$facebook->getUser();
如果($user){
试一试{
//获取您有权查看的用户配置文件数据
$user_profile=$facebook->api('/me');
回声“;
打印(用户档案);
回声“;
}捕获(FacebookApiException$e){
$user=null;
}
}否则{
die('top.location.href=“”.$facebook->getLoginUrl().“;”);
}
$loginUrl=$facebook->getLoginUrl(数组)(
'范围'=>'电子邮件、阅读流、发布流、用户生日、用户位置、用户工作历史、用户家乡、用户照片'
));
echo$user_profile['email'];
任何帮助都将不胜感激。谢谢


显示我需要的其他信息,但电子邮件地址除外

在授予访问电子邮件的权限之前,您必须申请电子邮件权限。我以为我已经在这行中这样做了?”范围“=>”电子邮件、阅读流、发布流、用户生日、用户位置、用户工作历史、用户家乡、用户照片可能,但这取决于您使用$loginUrl做什么。你能发布一个更完整的源代码吗?谢谢,但实际上,这就是我所有的代码,我只是想检索电子邮件地址并显示它,这就是所有的,那么你还没有完全理解FBAPI是如何工作的。登录URL必须用于将用户重定向到Facebook,以请求其对所请求权限的权限。之后,Facebook会将其重定向到您的页面,以便再次继续。在您链接的示例中,关键点是顶部的
if($user)
(检查您是否真正拥有用户信息)和
echo“top.location.href=”$罗吉努尔。"'";位于底部(如果您没有,则重定向到FB)。还请记住,被使用者可能会授予FB访问权限,但不会授予访问其电子邮件地址的权限。