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


How to get email adress from Facebook PHP SDK?

嗨,我目前正在为我的网站进行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'];显示为空白?

提前感谢!

您是否首先获得用户查看其电子邮件的权限?

https://developers.facebook.com/docs/reference/login/email-permissions/如果没有,请参阅此帖子设置从Facebook登录获取用户电子邮件ID的权限