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