我正在尝试使用我的Facebook帐户登录我的网站,但Facebook只提供名称和ID,但不足以登录用户。在我获得诸如姓名,姓名,电子邮件等完整信息之前。
Facebook现在提供的数据:
stdClass Object
(
[name] => FName LName
[id] => 236189327864097
)
我正在使用Oauth v2.0通过Facebook登录用户访问我的网站。
答案 0 :(得分:15)
看起来您正在使用Graph API的v2.4。参见
声明字段
为了尝试提高移动网络的性能,v2.4中的节点和边缘要求您明确请求您需要的字段以用于您的GET请求。例如,GET /v2.4/me/feed
默认情况下不再包含赞和评论,但GET /v2.4/me/feed?fields=comments,likes
将返回数据。有关详细信息,请参阅有关如何请求特定字段的文档。
要了解如何使用所谓的字段扩展,请查看
答案 1 :(得分:8)
FB.api('/me?fields=first_name, last_name, picture, email', function(response) {
console.log(response);
document.getElementById('status').innerHTML =
'Thanks for logging in, ' + response.first_name + '!';
});
这对我有用。在/ me?fields =在FB.api请求之后传递电子邮件。
答案 2 :(得分:1)
如果您使用PHP,还需要阅读本文:
https://developers.facebook.com/docs/facebook-login/permissions/v2.4
基本上,Fb说email
请注意,即使您申请电子邮件权限,也不能保证 你会得到一个电子邮件地址。例如,如果有人注册了 Facebook上有电话号码而不是电子邮件地址,电子邮件 字段可能是空的。
答案 3 :(得分:1)
通过参数传递您要查找的字段:
var request = new OAuth2Request("GET", new Uri("https://graph.facebook.com/me?fields=birthday,email,name,id"), null, eventArgs.Account);