Facebook graph api Facebook Graph API v2.4未返回扩展用户数据
我正在开发一个应用程序,它使用Facebook Graph API实现FB auth集成。作为这项工作的一部分,我们从Facebook获取用户的电子邮件、名字和姓氏,以便我们可以将电子邮件地址与数据库中的现有用户匹配,或者创建一个新用户 在Graph version 2.3中,我们可以通过以下请求轻松获得此信息,您可以在中测试运行,假设我们提供了一个访问令牌,该令牌具有权限Facebook graph api Facebook Graph API v2.4未返回扩展用户数据,facebook-graph-api,Facebook Graph Api,我正在开发一个应用程序,它使用Facebook Graph API实现FB auth集成。作为这项工作的一部分,我们从Facebook获取用户的电子邮件、名字和姓氏,以便我们可以将电子邮件地址与数据库中的现有用户匹配,或者创建一个新用户 在Graph version 2.3中,我们可以通过以下请求轻松获得此信息,您可以在中测试运行,假设我们提供了一个访问令牌,该令牌具有权限user\u about\u me和email: Request: https://graph.facebook.com/v
user\u about\u me
和email
:
Request: https://graph.facebook.com/v2.4/10154900171335022
Response:
{
"id": "123456",
"email": "buckeroo.banzai@gmail.com",
"first_name": "Buckeroo",
"gender": "male",
"last_name": "Banzai",
"link": "https://www.facebook.com/app_scoped_user_id/123456/",
"locale": "en_US",
"name": "Buckeroo Banzai",
"timezone": -4,
"updated_time": "2015-06-06T07:21:23+0000",
"verified": true
}
但是,当我切换到API v2.4并尝试相同的请求时,即使启用所有权限,我也会得到以下无用的响应:
{
"name": "Topher Hunt",
"id": "10154900171335022"
}
这与FB的API文档不符,后者建议仍应返回完整数据(包括电子邮件),如v2.3所示
在使用FB Graph v2.4时,是否有人成功找到获取用户电子邮件地址的方法?有解决办法吗?也许我应该推迟升级
提前谢谢 您应该传递带有相关关键字permissions的“fields”参数。请注意,自Graph API 2.2及以上版本发布以来,用户可以拒绝特定数据字段的权限 此外,如果用户已使用电话号码注册,则电子邮件字段将返回为空 要通过HTTP访问用户的电子邮件和关于我的信息,以下是一个示例: Javascript中的一个示例
FB.login(function(response) {
if(response.authResponse) { //If the user grants permission
FB.api('/me?fields=email,about', function(response) {
console.log(response.email);
console.log(reponse.about);
});
} else {
// User cancelled login or did not fully authorize.
}
}, {
scope: 'email,user_about_me'
);
我的{app id}/分数也有同样的问题,我应该提供哪些字段?谢谢