/** * Verifica se o programa já tem acesso a conta do usuario, caso negativo redireciona para pagina, * que gera uma autorização. * * @throws TwitterException * @throws IllegalStateException */ @RequestMapping(value = "/verificaAcessoTwitter") public String verificaAcessoTwitter(ModelMap modelMap) throws IllegalStateException, TwitterException { Usuario usuarioAutorizado = usuarioService.getUsuarioByLogin( SecurityContextHolder.getContext().getAuthentication().getName()); Twitter twitter = null; RequestToken requestToken = null; if (usuarioAutorizado.getAutorizacaoTwitter() != null) { twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer( "bVqAzGbuR5jsOTDstph9XB1dM", "vi9xVqIc1oMQAydQYIVgbo0GvO4XWwPjdhtJpjAUk6yv19vdDO"); AccessToken accessToken = new AccessToken( usuarioAutorizado.getAutorizacaoTwitter().getToken(), usuarioAutorizado.getAutorizacaoTwitter().getTokenSecret()); twitter.setOAuthAccessToken(accessToken); cadastroIdTwitterAmigos1E2Grau(usuarioAutorizado, twitter); return "redirect:/usuario/listar"; } try { twitter = new TwitterFactory().getInstance(); twitter.setOAuthConsumer( "bVqAzGbuR5jsOTDstph9XB1dM", "vi9xVqIc1oMQAydQYIVgbo0GvO4XWwPjdhtJpjAUk6yv19vdDO"); requestToken = twitter.getOAuthRequestToken(); } catch (TwitterException e) { // TODO Auto-generated catch block e.printStackTrace(); } // AccessToken accessToken = null; String url = requestToken.getAuthorizationURL(); // System.out.println(twitter.getId()); AutorizacaoTwitterRequest autorizacaoTwitterRequest = new AutorizacaoTwitterRequest(); autorizacaoTwitterRequest.setRequestToken(requestToken); autorizacaoTwitterRequest.setTwitter(twitter); autorizacaoTwitterRequestService.save(autorizacaoTwitterRequest); modelMap.addAttribute("url", url); modelMap.addAttribute("id", autorizacaoTwitterRequest.getId()); modelMap.addAttribute("pin", new Pin()); return "usuario/autorizacaoTwitter"; }
public void cadastroIdTwitterAmigos1E2Grau(Usuario usuario, Twitter twitter) { Long idUsuario = (long) usuario.getAutorizacaoTwitter().getId(); try { List<TwitterUsuarioId> idAmigos = new ArrayList<TwitterUsuarioId>(); idAmigos = getIdsUsuariosTwitter(idUsuario, twitter); usuario = usuarioService.CadastraIdAmigos(idAmigos, usuario.getId()); usuarioService.save(usuario); for (TwitterUsuarioId id : idAmigos) { List<TwitterUsuarioId> idAmigos2 = new ArrayList<TwitterUsuarioId>(); idAmigos2 = getIdsUsuariosTwitter(id.getIdTwitter(), twitter); usuario = usuarioService.CadastraIdsParaRecomadacao(idAmigos2, usuario); } usuarioService.save(usuario); // getTweets(twitter); } catch (TwitterException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
/** * Grava a autorização para o programa acessar a conta do twitter gerando um token, tokenSecret. */ @RequestMapping(value = "/{id}/autorizacaoTwitter") public String autorizacaoTwitter( @PathVariable("id") Integer id, @Valid Pin pin, ModelMap modelMap) { AutorizacaoTwitterRequest autorizacaoTwitterRequest = autorizacaoTwitterRequestService.find(AutorizacaoTwitterRequest.class, id); Usuario usuarioAutorizado = usuarioService.getUsuarioByLogin( SecurityContextHolder.getContext().getAuthentication().getName()); Twitter twitter = autorizacaoTwitterRequest.getTwitter(); RequestToken requestToken = autorizacaoTwitterRequest.getRequestToken(); AccessToken accessToken = null; try { if (pin.getPin().length() > 0) { System.out.println(pin.getPin()); accessToken = twitter.getOAuthAccessToken(requestToken, pin.getPin()); } else { accessToken = twitter.getOAuthAccessToken(); } } catch (TwitterException te) { if (401 == te.getStatusCode()) { System.out.println("Não foi possível obter o token de acesso." + te.getMessage()); } else { te.printStackTrace(); } } AutorizacaoTwitter autorizacaoTwitter = new AutorizacaoTwitter(); autorizacaoTwitter.setId((int) accessToken.getUserId()); autorizacaoTwitter.setToken(accessToken.getToken()); autorizacaoTwitter.setTokenSecret(accessToken.getTokenSecret()); autorizacaoTwitter.setUsuario(usuarioAutorizado); autorizacaoTwitterService.save(autorizacaoTwitter); usuarioAutorizado.setAutorizacaoTwitter(autorizacaoTwitter); usuarioService.update(usuarioAutorizado); autorizacaoTwitterRequestService.delete(autorizacaoTwitterRequest); modelMap.addAttribute("usuario", usuarioAutorizado); return "redirect:/usuario/listar"; }