Package twitter4j

Examples of twitter4j.Twitter


public class SigninServlet extends HttpServlet {
    private static final long serialVersionUID = -6205814293093350242L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Twitter twitter = new TwitterFactory().getInstance();
        request.getSession().setAttribute("twitter", twitter);
        try {
            StringBuffer callbackURL = request.getRequestURL();
            int index = callbackURL.lastIndexOf("/");
            callbackURL.replace(index, callbackURL.length(), "").append("/callback");

            RequestToken requestToken = twitter.getOAuthRequestToken(callbackURL.toString());
            request.getSession().setAttribute("requestToken", requestToken);
            response.sendRedirect(requestToken.getAuthenticationURL());

        } catch (TwitterException e) {
            throw new ServletException(e);
View Full Code Here


    private static final long serialVersionUID = 2132731135996613711L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        request.setCharacterEncoding("UTF-8");
        String text = request.getParameter("text");
        Twitter twitter = (Twitter)request.getSession().getAttribute("twitter");
        try {
            twitter.updateStatus(text);
        } catch (TwitterException e) {
            throw new ServletException(e);
        }
        response.sendRedirect(request.getContextPath()+ "/");
    }
View Full Code Here

public class CallbackServlet extends HttpServlet {
    private static final long serialVersionUID = 1657390011452788111L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        Twitter twitter = (Twitter) request.getSession().getAttribute("twitter");
        RequestToken requestToken = (RequestToken) request.getSession().getAttribute("requestToken");
        String verifier = request.getParameter("oauth_verifier");
        try {
            twitter.getOAuthAccessToken(requestToken, verifier);
            request.getSession().removeAttribute("requestToken");
        } catch (TwitterException e) {
            throw new ServletException(e);
        }
        response.sendRedirect(request.getContextPath() + "/");
View Full Code Here

 
  public void sendReceiveMessages(String recipientId, String text)
  {
   
     // The factory instance is re-useable and thread safe.
      Twitter sender = new TwitterFactory().getInstance();
      DirectMessage message;
    try {
      message = sender.sendDirectMessage(recipientId, text);
      System.out.println("Sent: " + message.getText() + " to @" + message.getRecipientScreenName());
    } catch (TwitterException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
View Full Code Here

   
    try
      String consumerKey = "ZU3EOQpH5YR2SXoMmAGzw";
      String secretKey = "oHIA2PoLw4Y8jXR4HM3xWfoJQJFYIryFKStHuRcL7Q";
          //cria uma instancia do twitter pela 'fabrica'
          Twitter twitter = new TwitterFactory().getInstance();
          twitter.setOAuthConsumer(consumerKey, secretKey);
         
          //recuperando os tokens da sessao
          String token = (String) ActionContext.getContext().getSession().get("token");
          String tokenSecret = (String) ActionContext.getContext().getSession().get("tokenSecret");
          try{
            //tenta conseguir um accessToken atrav�s dos requestTokens para tentar liberar o acesso ao twitter
            AccessToken accessToken = twitter.getOAuthAccessToken(token, tokenSecret);
           
            //salva o accessToken na sessao pra nao precisar autenticar cada vez que for postar um tweet
            //Para isto, deveria ser feita uma verifica��o mas creio que foge do intuito deste programa
            Map<String,Object> session = ActionContext.getContext().getSession();
            session.put("aToken",accessToken.getToken());
            session.put("aTokenSecret",accessToken.getTokenSecret());
           
            //supostamente esta linha conseguiria a autorizacao pra acessar o twitter
            //mas por algum motivo que eu nao sei qual �, o twitter nao autoriza minha aplica��o e retorna ERRO1
            twitter.setOAuthAccessToken(accessToken);
          }catch(TwitterException ex){
            return "ERROR1";
          }
          //verifica se o usuario digitou ou nao um twitter e se sim, recupera esta informa��o da sessao
          if(!((String)ActionContext.getContext().getSession().get("twt")).equals("")){
            String twt = (String)ActionContext.getContext().getSession().get("twt");
           
            //configuro a mensagem que seria enviada ao twitter
            String novoStatus = "@[" + twt + "] acabou de se cadastrar no site [http://stechtwitter.appspot.com/]";
           
            //envio o twitter
            twitter.updateStatus(novoStatus);
           
        //se o usuario nao digitou um twitter, recupera o nome dele da sessao   
          }else{
            String nome = (String)ActionContext.getContext().getSession().get("nome");
           
            //configuro a mensagem que seria enviada ao twitter com o nome do usuario
            String novoStatus = "[" + nome + "] acabou de se cadastrar no site [http://stechtwitter.appspot.com/]";
           
            //envio o twitter
            twitter.updateStatus(novoStatus);
          }   
      } catch (TwitterException ex) {
          return "ERROR";
      }
      return SUCCESS;
View Full Code Here

      //consumerKey e secretKey sao liberados a minha aplicaco quando a cadastro no twitter
      String consumerKey = "ZU3EOQpH5YR2SXoMmAGzw";
      String secretKey = "oHIA2PoLw4Y8jXR4HM3xWfoJQJFYIryFKStHuRcL7Q";
     
      //cria uma instancia do twitter pela 'fabrica'
          Twitter twitter = new TwitterFactory().getInstance();
         
          //configura autorizacao pra minha conta de teste no twitter
          twitter.setOAuthConsumer(consumerKey, secretKey);
         
          //recebe os tokens de requisicao do twitter para posteriormente tentar o acesso
          // (forma inteligente de seguran�a, os tokens sao gerados dinamicamente pelo twitter)
          RequestToken requestToken = twitter.getOAuthRequestToken();
         
          //configuro a url que encaminhar� o usuario ao twitter (redireciono automaticamente pelo struts)
          setUrl(requestToken.getAuthorizationURL());
         
          //recebo os tokens de requisicao
View Full Code Here

    }

    @Override
    public InteractionState<TwitterAccessTokenContext> processOAuthInteraction(HttpServletRequest request, HttpServletResponse response) throws
            IOException, OAuthException {
        Twitter twitter = twitterFactory.getInstance();

        HttpSession session = request.getSession();

        //See if we are a callback
        RequestToken requestToken = (RequestToken) session.getAttribute(OAuthConstants.ATTRIBUTE_TWITTER_REQUEST_TOKEN);

        try {
            if (requestToken == null) {
                requestToken = twitter.getOAuthRequestToken(redirectURL);

                // Save requestToken to session, but only temporarily until oauth workflow is finished
                session.setAttribute(OAuthConstants.ATTRIBUTE_TWITTER_REQUEST_TOKEN, requestToken);

                if (log.isTraceEnabled()) {
                    log.trace("RequestToken obtained from twitter. Redirecting to Twitter for authorization");
                }

                // Redirect to twitter to perform authentication
                response.sendRedirect(requestToken.getAuthenticationURL());

                return new InteractionState<TwitterAccessTokenContext>(InteractionState.State.AUTH, null);
            } else {
                String verifier = request.getParameter(OAuthConstants.OAUTH_VERIFIER);

                // User denied scope
                if (request.getParameter(OAuthConstants.OAUTH_DENIED) != null) {
                    throw new OAuthException(OAuthExceptionCode.USER_DENIED_SCOPE, "User denied scope on Twitter authorization page");
                }

                // Obtain accessToken from twitter
                AccessToken accessToken = twitter.getOAuthAccessToken(requestToken, verifier);

                if (log.isTraceEnabled()) {
                    log.trace("Twitter accessToken: " + accessToken);
                }
View Full Code Here

    @Override
    public TwitterAccessTokenContext validateTokenAndUpdateScopes(TwitterAccessTokenContext accessToken) throws OAuthException {
        try {
            // Perform validation by obtaining some info about user
            Twitter twitter = getAuthorizedTwitterInstance(accessToken);
            twitter.verifyCredentials();
            return accessToken;
        } catch (TwitterException tw) {
            if (tw.getStatusCode() == 401) {
                throw new OAuthException(OAuthExceptionCode.ACCESS_TOKEN_ERROR,
                        "Error when verifying twitter access token: " + tw.getMessage(), tw);
View Full Code Here

        } else if (isTwitter) {
          try {
            LOGGER.finer("Determining user attributes for: "+op);
            String token = (String)session.getAttribute(ATTR_TOKEN);
            String tokenSecret = (String)session.getAttribute(ATTR_TOKEN_SECRET);
            Twitter twitter = new Twitter();
            twitter.setOAuthConsumer(provider.getConsumerKey(),provider.getConsumerSecret());
            AccessToken accessToken = twitter.getOAuthAccessToken(token,tokenSecret);
            twitter.setOAuthAccessToken(accessToken);
            twitter4j.User tUser = twitter.verifyCredentials();
            String screenName = Val.chkStr(tUser.getScreenName());
            if (screenName.length() > 0) {
              username = screenName+"@twitter";
              identity = "twitter:"+screenName;
            }
          } catch (Exception e) {
            err = "oAuth authentication failed.";
            LOGGER.log(Level.WARNING,err,e);
          }
         
        // Openid callback
        } else {
          try {
           
            // determine the callback UUID
            String cbidParam = Val.chkStr(request.getParameter("cbid"));
            if (cbidParam.length() == 0) {
              throw new ServletException("Empty cbid parameter on callback.");
            }
           
            if (!cbid.equals(cbidParam)) {
              throw new ServletException("Invalid openid cbid parameter on callback.");
            }
            callbackUrl += "?cbid="+java.net.URLEncoder.encode(cbid,"UTF-8");
            LOGGER.finer("cbinfo based callback: "+cbinfo);
            LOGGER.finer("Determining user attributes for: "+op);
           
            OpenIdManager manager = new OpenIdManager();
            manager.setRealm(realm);
            manager.setReturnTo(callbackUrl)
           
            checkNonce(request.getParameter("openid.response_nonce"));
            byte[] mac_key = (byte[])session.getAttribute(ATTR_MAC);
            String alias = (String)session.getAttribute(ATTR_ALIAS);
            Authentication authentication = manager.getAuthentication(request,mac_key,alias);
            identity = authentication.getIdentity();
            email = authentication.getEmail();
            username = email;
          } catch (Exception e) {
            err = "Openid authentication suceeded, creating local user reference failed.";
            LOGGER.log(Level.WARNING,err,e);
          }
        }
       
        // check the parameters
        identity = Val.chkStr(identity);
        username = Val.chkStr(username);
        email = Val.chkStr(email);
        LOGGER.finer("User attributes: identity="+identity+", username="+username+", email="+email);
        if (identity.length() == 0) {
          err = "Your openid idenitfier was not determined.";
        } else if (username.length() == 0) {
          if (isTwitter) {
            err = "Your opennid screen name was not determined.";
          } else {
            err = "Your opennid email address was not determined.";
          }
        } else {
         
          // establish the user
          identity = "urn:openid:"+identity;
          User user = context.getUser();
          user.reset();
          user.setKey(identity);
          user.setDistinguishedName(identity);
          user.setName(username);
          user.getProfile().setUsername(username);
          if (email.length() > 0) {
            user.getProfile().setEmailAddress(email);
          }
          user.getAuthenticationStatus().setWasAuthenticated(true);
         
          // ensure a local reference for the user
          try {
            LocalDao localDao = new LocalDao(context);
            localDao.ensureReferenceToRemoteUser(user);
          } catch (Exception e) {
            user.reset();
            err = "Openid authentication suceeded, creating local user reference failed.";
            LOGGER.log(Level.SEVERE,err,e);
          }
        }
       
        // redirect to the originating page
        String url = fwd;
        err = Val.chkStr(err);
        if (err.length() > 0) {
          if (url.indexOf("?") == -1) fwd += "?";
          else url += "&";
          url += "err="+URLEncoder.encode(err,"UTF-8");
        }
        response.sendRedirect(url);
       
      // process a request to enter Openid credentials
      } else if (op.length() > 0) {
        session.setAttribute(ATTR_CBINFO,null);
       
        // determine the provider
        OpenProvider provider = providers.get(op);
        if (provider == null) {
          throw new ServletException("Invalid openid op parameter: "+op);
        }
        boolean isTwitter = provider.getName().equalsIgnoreCase("Twitter");
       
        // determine the active Geoportal page (forward URL)
        String fwd = Val.chkStr(request.getParameter("fwd"));
        if (fwd.length() == 0) {
          throw new ServletException("Empty openid fwd parameter.");
        }
       
        // store the callback info
        String cbid = UUID.randomUUID().toString();
        long millis = System.currentTimeMillis();
        String cbinfo = millis+","+cbid+","+op+","+fwd;
        session.setAttribute(ATTR_CBINFO,cbinfo);       
       
        // determine the Openid Authentication URL
        String url = null;
        if (useFacade) {
          PrintWriter pw = response.getWriter();
          pw.println("<html><head><title>Openid Facade</title></head><body><h1>Openid Facade</h1>");
          pw.println("<a href=\""+callbackUrl+"\">Supply credentials step</a>");
          pw.println("</body></html>");
          pw.flush();
          return;
         
        // Twitter
        } else if (isTwitter) {
          try {
            LOGGER.fine("Initiating oAuth request for: "+op+", callback="+callbackUrl);
            Twitter twitter = new Twitter();
            twitter.setOAuthConsumer(provider.getConsumerKey(),provider.getConsumerSecret());
            RequestToken requestToken = twitter.getOAuthRequestToken();
            String token = requestToken.getToken();
            String tokenSecret = requestToken.getTokenSecret();
            session.setAttribute(ATTR_TOKEN,token);
            session.setAttribute(ATTR_TOKEN_SECRET,tokenSecret);
            url = requestToken.getAuthorizationURL();           
View Full Code Here

     * @return
     * @throws TwitterException
     */
    public TweetPublishedMetadata updateTwitterStatus(final String tweet) throws TwitterException{
        log.debug("twitter update status 2--> "+tweet);
        final Twitter twitter = this.getTwitterInstance();
        final Status twitterStatus = twitter.updateStatus(tweet);
        log.debug("twitter update status "+twitterStatus);
        TweetPublishedMetadata status = createStatus(tweet);
        status.setTweetId(String.valueOf(twitterStatus.getId()));
        //statusTweet.set status.g
        status.setDatePublished(twitterStatus.getCreatedAt());
View Full Code Here

TOP

Related Classes of twitter4j.Twitter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.