2

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

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

我确定用户名字段之前已使用旧的 appId 填写。我不知道为什么现在用户名不再由 facebook 发送。如果他使用 facebook 登录,我们需要用户名来本地存储用户。

这是我缺少的 Facebook 应用程序设置页面上的设置吗?还是 Facebook 方面发生了一些变化?

4

1 回答 1

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 工作,但这是一项不平凡的任务。不过,我希望尽快完成这项工作。

于 2014-06-02T02:37:04.867 回答