我正在使用this code,但我无法弄清楚如何从用户那里收到电子邮件。我知道你必须获得用户的特别许可,但我不知道如何。
我可以从用户那里获取公共数据,但这不是我需要的。我唯一需要的是电子邮件。
我想这就是这条线:
$me = $facebook->api('/me');
我已阅读文档,但我仍然不知道如何收到该电子邮件。如何使用facebook api从我的网站上获取用户登录信息?
答案 0 :(得分:1)
您首先需要向用户请求“电子邮件”的扩展权限。您可以使用FB JS SDK通过调用FB.login()或PHP FB SDK,通过调用getLoginUrl()重定向浏览器来执行此操作。
FB.login(function(response) {
if (response.session) {
if (response.perms) {
// user is logged in and granted some permissions.
// perms is a comma separated list of granted permissions
} else {
// user is logged in, but did not grant any permissions
}
} else {
// user is not logged in
}
}, {perms:'email'});
FB PHP SDK方法:
$login_url = $Facebook->getLoginUrl(array(
'canvas' => 1,
'fbconnect' => 0,
'req_perms' => 'email'
));
echo '<script type="text/javascript">top.location.href = "'.$login_url.'";</script>';
exit();
获得所需权限后,您可以在PHP中调用它:
$me = $facebook->api('/me?fields=email');