Spring社交Facebook电子邮件无效

时间:2015-08-17 13:30:35

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

我尝试将spring social facebook集成到我的项目中(我已经设法集成了google +和twitter signin)。我遇到的问题是facebook提供商为大多数值返回null。我使用下面的代码:

Connection<Facebook> fb_connection = (Connection<Facebook>) providerSignInUtils.getConnectionFromSession(request);   
fb_connection.getApi().userOperations().getUserProfile().getName();//i get the name
fb_connection.getApi().userOperations().getUserProfile().getId(); //i get the id
fb_connection.getApi().userOperations().getUserProfile().getEmail(); // email and all other values are always null

我现在尝试了很多版本的spring social facebook,我使用的是2.0.0.M1,我认为这是最新版本。 以下是我使用的登录表单:

<!-- FACEBOOK SIGNIN -->
<form name="fb_signin" id="fb_signin" action="<c:url value="/signin/facebook"/>" method="POST">
    <input type="hidden" name="scope" value="email,public_profile,user_friends" />
    <button type="submit">Facebook</button>
</form>

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题并解决了升级到插件版本2.0.2.RELEASE

的问题
<!-- Spring Social Facebook -->
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-facebook</artifactId>
            <version>2.0.2.RELEASE</version>
        </dependency>

答案 1 :(得分:0)

在我的情况下,我必须发送&#34;范围&#34;放置登录按钮的表单中的字段。

<form th:action="@{/connect/facebook}" method="POST">
<button type="submit">Sign in with Facebook</button>
<input type="hidden" name="scope" value="public_profile,email"/>
</form>