1

我正在尝试从 Facebook 帐户获取用户电子邮件。

http://instanceof.ru/scr/2012/09/26/26.09.2012-22.05.01.png - 这是权限设置

    require 'facebook/src/facebook.php';
$facebook = new Facebook(array(
    'appId' => 'xxxxxxx',
    'secret' => 'xxxxxxxx',
    'cookie' => true
));
$user = $facebook->getUser();

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;
    }

}

var_dump($user_profile);exit;

但是输出中没有电子邮件

我做错了什么?

4

1 回答 1

1

获取用户的电子邮件需要用户在授权中的许可。在您的授权中尝试以下操作:

if (!$fbUser) {
        $loginUrl = $facebook->getLoginUrl(
            array(
                'scope' => 'email',
                'redirect_uri' => 'YOUR REDIRECT URL GOES HERE'
            )
        );
        echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
        exit;
    }
于 2012-11-21T18:01:08.583 回答