嗨,我目前正在为我的网站进行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的权限