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

时间:2012-08-26 14:18:28

标签: php facebook

  

可能重复:
  Facebook Graph API, how to get users email?

我正在玩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 developer test site并设置我的用户名或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 /用户名获取电子邮件地址?

2 个答案:

答案 0 :(得分:3)

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

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

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

答案 1 :(得分:3)

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