2

可能重复:
Facebook Graph 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/用户名获取电子邮件地址?

4

2 回答 2

3

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

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

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

于 2012-08-26T14:23:07.273 回答
3

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

于 2012-08-26T14:23:13.013 回答