Facebook-如何从ID获取电子邮件


Facebook - how to get email from ID?

可能重复:
Facebook图形API,如何获得用户的电子邮件?

我正在玩Facebook API,并试图从中获取可用信息。

$facebook = new Facebook(array('appId'  => 'id', 'secret' => 'key'));  
print_r($facebook->api('/my_username_or_id'));

打印出来的:

Array ( [id] => my_id [name] => whole_name [first_name] => first_name [last_name] => last_name [link] => url_to_profile [username] => username [gender] => gener [locale] => es_LA )

但不是电子邮件。当我去Facebook开发者测试网站并设置我的用户名或ID时,我会得到这样的东西:

{
  "id": "id", 
  "name": "name", 
  "first_name": "first_name", 
  "last_name": "last_name", 
  "link": "link", 
  "username": "username", 
  "gender": "male", 
  "timezone": 2, 
  "locale": "en_US", 
  "verified": true, 
  "updated_time": "2012-07-16T13:00:04+0000"
}

与第一个案例中的信息非常相似。

但是再说一遍,我无法获得电子邮件地址。我也试过

print_r($facebook->api('/my_username_or_id?fields=email'));

FB开发者网站上也是如此,但再次失败。。。

有没有办法从ID/用户名中获取电子邮件地址?

若要获取用户的电子邮件地址,您需要拥有用户访问令牌,或者在应用程序中使用授予的email权限对其进行身份验证。

这只会为您提供该用户的电子邮件。您无法通过这种方式获取用户朋友的电子邮件地址。

这可以防止垃圾邮件发送者从Facebook获取电子邮件。

通过使用facebookapi,您只能在结果集中获取自己的电子邮件id。我认为由于安全原因,facebook不提供其他用户的电子邮件ID。