私は spring-social-google (git リポジトリから構築) を使用して、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();
// ...
}
}