我正在玩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 /用户名获取电子邮件地址?
答案 0 :(得分:3)
要获取用户的电子邮件地址,您需要拥有用户访问令牌,或者在授予email
权限的应用中对其进行身份验证。
这只为您提供该用户的电子邮件。你无法通过这种方式获得用户朋友的电子邮件地址。
这可以防止垃圾邮件发送者从Facebook收集电子邮件。
答案 1 :(得分:3)
通过使用facebook api,您只能在结果集中获取自己的电子邮件ID。我认为由于安全原因,facebook不提供其他用户的电子邮件ID。