Facebook graph api 使用Spring Social和Spring Security与facebook共享

Facebook graph api 使用Spring Social和Spring Security与facebook共享,facebook-graph-api,spring-security,spring-social,spring-social-facebook,Facebook Graph Api,Spring Security,Spring Social,Spring Social Facebook,我已将社交登录按钮[Facebook]与我的web应用程序集成。使用spring social和spring security,其运行良好 在我的login.jsp中,我有: <!-- Add Facebook sign in button --> <a href="${pageContext.request.contextPath}/auth/facebook"><button class="btn btn-facebook"><i class="ic

我已将社交登录按钮[Facebook]与我的web应用程序集成。使用spring social和spring security,其运行良好

在我的login.jsp中,我有:

<!-- Add Facebook sign in button -->
<a href="${pageContext.request.contextPath}/auth/facebook"><button class="btn btn-facebook"><i class="icon-facebook"></i>facebook</button></a>
现在,当我在调试模式下运行此控制器时,我可以看到此控制器中的
WebRequest
对象中存在
Connection
对象,
如何使用此连接对象进行任何操作,请帮助

stackoverflow没有帮助:但实际上我得到了解决方案,它是否可以帮助其他人,从而发布相同的信息:

将其添加到社交xml配置中以初始化
FacebookApiHelper


然后在你的控制器中使用相同的方法来处理facebook的现有连接对象

@Controller
@RequestMapping("/facebook")
public class FacebookOperationController {

    private static final Logger logger = LoggerFactory.getLogger(FacebookOperationController.class);

    @Autowired
    protected FacebookApiHelper facebookApiHelper;

    @Autowired
    UserIdSource userIdSource;

    private UsersConnectionRepository usersConnectionRepository;

    @Autowired
    public FacebookOperationController(UsersConnectionRepository usersConnectionRepository)
    {
        this.usersConnectionRepository = usersConnectionRepository;
    }

    @RequestMapping(method = RequestMethod.GET)
    public String shareWithFacebook(WebRequest request,Model model){

        Facebook facebook = facebookApiHelper.getApi();
        Connection<Facebook> connection = usersConnectionRepository.createConnectionRepository(userIdSource.getUserId()).findPrimaryConnection(Facebook.class);
        return "tilesname";
    }
}
@控制器
@请求映射(“/facebook”)
公共类FacebookOperationController{
私有静态最终记录器记录器=LoggerFactory.getLogger(FacebookOperationController.class);
@自动连线
受保护的FacebookApiHelper FacebookApiHelper;
@自动连线
UserIdSource UserIdSource;
私有用户连接存储库用户连接存储库;
@自动连线
public FacebookOperationController(用户连接存储库用户连接存储库)
{
this.usersConnectionRepository=usersConnectionRepository;
}
@RequestMapping(method=RequestMethod.GET)
公共字符串shareWithFacebook(WebRequest请求,模型){
Facebook=Facebook-apiHelper.getApi();
Connection Connection=usersConnectionRepository.createConnectionRepository(userIdSource.getUserId()).findPrimaryConnection(Facebook.class);
返回“tilesname”;
}
}
现在我们有了
连接
脸谱网
,享受所有api

@RequestMapping(method = RequestMethod.GET)
public String shareWithFacebook(WebRequest request){
  Map<String, String[]> params = request.getParameterMap();
  String[] head = request.getAttributeNames(WebRequest.SCOPE_REQUEST);
  String[] head1 = request.getAttributeNames(WebRequest.SCOPE_SESSION);
  return null;
}
<bean id="facebookApiHelper" class="org.springframework.social.facebook.config.support.FacebookApiHelper">
    <constructor-arg index="0" ref="usersConnectionRepository"/>
    <constructor-arg index="1" ref="userIdSource"/>
</bean>
@Controller
@RequestMapping("/facebook")
public class FacebookOperationController {

    private static final Logger logger = LoggerFactory.getLogger(FacebookOperationController.class);

    @Autowired
    protected FacebookApiHelper facebookApiHelper;

    @Autowired
    UserIdSource userIdSource;

    private UsersConnectionRepository usersConnectionRepository;

    @Autowired
    public FacebookOperationController(UsersConnectionRepository usersConnectionRepository)
    {
        this.usersConnectionRepository = usersConnectionRepository;
    }

    @RequestMapping(method = RequestMethod.GET)
    public String shareWithFacebook(WebRequest request,Model model){

        Facebook facebook = facebookApiHelper.getApi();
        Connection<Facebook> connection = usersConnectionRepository.createConnectionRepository(userIdSource.getUserId()).findPrimaryConnection(Facebook.class);
        return "tilesname";
    }
}