你如何使用facebook api收到电子邮件?

时间:2010-10-28 22:49:24

标签: php facebook

我正在使用this code,但我无法弄清楚如何从用户那里收到电子邮件。我知道你必须获得用户的特别许可,但我不知道如何。

我可以从用户那里获取公共数据,但这不是我需要的。我唯一需要的是电子邮件。

我想这就是这条线:

$me = $facebook->api('/me');

我已阅读文档,但我仍然不知道如何收到该电子邮件。如何使用facebook api从我的网站上获取用户登录信息?

1 个答案:

答案 0 :(得分:1)

您首先需要向用户请求“电子邮件”的扩展权限。您可以使用FB JS SDK通过调用FB.login()或PHP FB SDK,通过调用getLoginUrl()重定向浏览器来执行此操作。

FB JS SDK: FB.login method

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');