我正在使用 spring-social-google(从 git repo 构建)来允许人们登录我的 Spring MVC 应用程序(我已经有 facebook、twitter 和 linedin 工作)。下面的表格允许我进行身份验证,但不会返回电子邮件地址,并且禁止发布到 Google+ 时间线:
<form action="<c:url value="/register/social/${providerId}" />" method="POST" id ="${providerId}Form" name = "${providerId}Form">
<button type="submit"><img src="<c:url value='/resources/${providerId}/sign-in-with-${providerId}.png'/>" border="0"/></button>
<input type="hidden" name="scope" value="https://www.googleapis.com/auth/plus.profile.emails.read" />
</form>
我认为问题在于我没有正确的范围变量。我在这里尝试了一些组合https://developers.google.com/+/api/oauth但我被告知范围变量都是错误的。我需要哪些?
这是我用来获取电子邮件地址的代码:
public final class LoginConnectionSignUp implements ConnectionSignUp
{
public String execute(Connection<?> connection)
{
final UserProfile up = connection.fetchUserProfile();
final String email = up.getEmail();
// ...
}
}