如何从Facebook PHP SDK获取电子邮件地址?

时间:2013-11-12 16:48:55

标签: php facebook

您好,我目前正在为我的网站登录Facebook。

现在我可以显示其他所有内容,例如名字,姓名,facebook会员ID的ID,但我无法显示电子邮件。

这是我的php代码:

<?php
require '../src/facebook.php';
$facebook = new Facebook(array(
  'appId'  => 'MYIDDDDDD',
  'secret' => 'MYIDDDDDD',
));

$user = $facebook->getUser();

if ($user) {
  try {
    $user_profile = $facebook->api('/me');
  } catch (FacebookApiException $e) {
    error_log($e);
    $user = null;
  }
}
if ($user) {
  $logoutUrl = $facebook->getLogoutUrl();
} else {
  $statusUrl = $facebook->getLoginStatusUrl();
  $loginUrl = $facebook->getLoginUrl(array('scope' => 'email'));
}
$naitik = $facebook->api('/naitik');

$myid = $user_profile['id'];
  $myemail = $user_profile['email'];
  echo $user_profile['first_name'];
  echo "Your id is - $myid<br>My email is = $myemail";
  $_SESSION['first_name']=$user_profile['first_name'];

?>

如果重要的是我的应用程序处于沙盒模式。

我在这段代码中的错误在哪里以及为什么$myemail = $user_profile['email'];显示为空白?

提前致谢!

1 个答案:

答案 0 :(得分:1)

您是否首先获得用户查看其电子邮件的权限? https://developers.facebook.com/docs/reference/login/email-permissions/
如果没有,请参阅此帖子Set permission for getting User's email ID from Facebook Login