在Facebook个人资料中没有返回用户名

时间:2014-05-30 14:43:29

标签: facebook facebook-graph-api username spring-social spring-social-facebook

我刚刚在developers.facebook.com上重新注册了我们的Facebook应用程序,获得了应用程序ID和秘密。到目前为止一切都很好。

现在当我使用新的appId和appSecret获取用户配置文件时,用户名字段为空,其中像lastName等其他字段被设置(我用spring-social-facebook做UserProfile userProfile = connection.fetchUserProfile())。

我确定先前已使用旧appId填写了用户名字段。我无法找到为什么用户名现在不再由facebook发送。如果用户使用Facebook登录,我们需要用户名来本地存储用户。

这是我在Facebook应用设置页面上的设置吗?或者在Facebook方面做了些什么改变?

1 个答案:

答案 0 :(得分:6)

如果您从4月30日开始在Facebook上注册了自己的应用,那么您就可以使用Facebook的v2.0 API(没有选择... Facebook会对4月30日之后注册的应用强制执行此操作)。在v2.0中,没有用户名。它已经不再可用了。

4月30日之前注册的应用程序默认为v1.0,但您可以请求v2.0。然而,就目前而言,Spring Social Facebook是针对v1.0进行编码的。如果你尝试使用它来对抗v2.0,那么大多数事情仍然有效,但有些事情不会被用户(例如用户名)。此外,获取朋友列表只会返回同样授权同一个应用程序的朋友。)

我正在努力更新Spring Social Facebook的API以对抗v2.0,但这是一项非常重要的任务。我希望尽快完成这项工作。