Facebook SDK(/ me)虽然允许,但不包含电子邮件

时间:2013-11-19 21:11:11

标签: php facebook codeigniter facebook-graph-api

我在我的网站上使用PHP Facebook SDK,用户可以在那里连接Facebook帐户。我想获取用户的电子邮件地址。许可由用户给出。但是,如果我输出facebook-> api('/ me'),那么就没有电子邮件地址。对于所有其他额外信息,例如'user_likes',它可以正常工作。

有没有人知道如何解决这个问题?

这是我的代码。我正在使用Codeigniter

    $fb_config = array(
                'appId'  => 'xxx',
                'secret' => 'xxx'
            );
     $this->load->library('facebook', $fb_config);

 $user = $this->facebook->getUser();

 if ($user) {
    try {
       $data['user_profile'] = $this->facebook->api('/me');
    }
    catch (FacebookApiException $e) {
       $user = null;
    }
else {
    $params['scope'] = "email";
    $data['login_url'] = $this->facebook->getLoginUrl($params);
    }

print_r($data['user_profile'];

谢谢!

1 个答案:

答案 0 :(得分:0)

您是否尝试使用其他帐户?我有一个类似的问题,没有为特定用户显示电子邮件,并且它对其他人有效。

我最终使用username@facebook.com作为此特定案例的电子邮件,但从未发现为什么它不适用于此特定用户。