可能重复:
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。