【发布时间】:2016-02-07 12:29:22
【问题描述】:
我正在使用 Spring 社交 Facebook 框架 2.0.2,并且我正在访问 Facebook 应用程序版本 2.5。
不知何故,我无法获取通过 fetchObject 方法进行身份验证的用户的电子邮件地址。
@RequestMapping("/register/facebook")
public String registerFacebookUser(WebRequest request, Model model) {
Connection<Facebook> connection = (Connection<Facebook>)providerSignInUtils.getConnectionFromSession(request);
User profile = connection.getApi().fetchObject("me", User.class, "id", "first_name", "last_name", "link", "email");
userConnectionRepository.createConnectionRepository(profile.getId()).addConnection(connection);
return "register";
}
Id、名字和姓氏都可以正常工作,但电子邮件地址似乎为空。我已经在 Facebook 上注册了一个电子邮件地址,并正确验证了它并且可以公开使用。
当我查看代码时,我的第一个猜测是 Spring social Facebook 使用的版本是 2.3。你觉得可能是这样吗?
【问题讨论】:
-
您是否向用户请求了适当的权限?
标签: java spring facebook spring-social email-address