脸书登录 - 无法检索电子邮件地址


Facebook login - can not retrieve email address

我正在使用FB登录API为我的网站创建一个登录功能。

我使用 https://graph.facebook.com/oauth/access_token?client_id=ID&redirect_uri=URL&client_secret=SECRET&code=CODE

我能够检索名称和基本信息。但是电子邮件我无法收到。

在我的应用程序中,我设置了权限,包括"电子邮件"。但是,当APP说"网站想要访问您的信息和朋友列表"时,电子邮件选项并没有被提及。

我做错了什么?

此致敬意拉斯穆斯

必须包含范围参数和重定向参数。

$config = array();
$config['appId'] = 'xxx';
$config['secret'] = 'xxx';
$facebook = new Facebook($config);
if(isset($_GET['act']) && $_GET['act'] == "logout") {
    $facebook->destroySession();
}

$user = $facebook->getUser();
echo $user;
if ($user) {
    try {
    // Proceed knowing you have a logged in user who's authenticated.
    $user_profile = $facebook->api('/me');
    } catch (FacebookApiException $e) {
    echo '<pre>'.htmlspecialchars(print_r($e, true)).'</pre>';
    $user = null;
    }
    echo "<pre>";
    print_r($user_profile);
    echo "</pre>";  
    $logout = $facebook->getLogoutUrl();
    //echo $logout;
    echo "<a href='test.php?act=logout'>Logout</a>";

} else {
    $login = $facebook->getLoginUrl(array("scope"=>"email","display"=>"popup","redirect_uri"=>"http://domain.com/test.php"));
    echo "<a href='".$login."'>Login</a>";
}