Example usage for twitter4j TwitterFactory TwitterFactory

List of usage examples for twitter4j TwitterFactory TwitterFactory

Introduction

In this page you can find the example usage for twitter4j TwitterFactory TwitterFactory.

Prototype

public TwitterFactory() 

Source Link

Document

Creates a TwitterFactory with the root configuration.

Usage

From source file:com.firewallid.crawling.TwitterApp.java

private Twitter createTwitter() {
    String[] currentApp = conf.getStrings(String.format("%s.%s", APPS, apps[appIdx])); //0:CONSUMER_KEY 1:CONSUMER_KEY_SECRET 2:ACCESS_TOKEN 3:ACCESS_TOKEN_SECRET

    Twitter tw = new TwitterFactory().getInstance();
    tw.setOAuthConsumer(currentApp[0], currentApp[1]);
    AccessToken accessToken = new AccessToken(currentApp[2], currentApp[3]);
    tw.setOAuthAccessToken(accessToken);

    return tw;// w w w.  ja  v a 2  s . c om
}

From source file:com.freedomotic.plugins.devices.twitter.gateways.OAuthSetup.java

License:Open Source License

/**
 * @param args// ww  w. j  av  a  2 s .c o  m
 */
public static void main(String args[]) throws Exception {
    // The factory instance is re-useable and thread safe.
    Twitter twitter = new TwitterFactory().getInstance();

    //insert the appropriate consumer key and consumer secret here

    twitter.setOAuthConsumer("TLGtvoeABqf2tEG4itTUaw", "nUJPxYR1qJmhX9SnWTBT0MzO7dIqUtNyVPfhg10wf0");
    RequestToken requestToken = twitter.getOAuthRequestToken();
    AccessToken accessToken = null;
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    while (null == accessToken) {
        System.out.println("Open the following URL and grant access to your account:");
        System.out.println(requestToken.getAuthorizationURL());
        System.out.print("Enter the PIN(if aviailable) or just hit enter.[PIN]:");
        String pin = br.readLine();
        try {
            if (pin.length() > 0) {
                accessToken = twitter.getOAuthAccessToken(requestToken, pin);
            } else {
                accessToken = twitter.getOAuthAccessToken();
            }
        } catch (TwitterException te) {
            if (401 == te.getStatusCode()) {
                System.out.println("Unable to get the access token.");
            } else {
                te.printStackTrace();
            }
        }
    }
    //persist to the accessToken for future reference.
    System.out.println(twitter.verifyCredentials().getId());
    System.out.println("token : " + accessToken.getToken());
    System.out.println("tokenSecret : " + accessToken.getTokenSecret());
    //storeAccessToken(twitter.verifyCredentials().getId() , accessToken);
    Status status = twitter.updateStatus(args[0]);
    System.out.println("Successfully updated the status to [" + status.getText() + "].");
    System.exit(0);
}

From source file:com.freshdigitable.udonroad.module.TwitterApiModule.java

License:Apache License

@Singleton
@Provides//  ww w.  j a  v  a2s .  c  o m
public Twitter provideTwitter() {
    final TwitterFactory twitterFactory = new TwitterFactory();
    final Twitter twitter = twitterFactory.getInstance();
    final String key = context.getString(R.string.consumer_key);
    final String secret = context.getString(R.string.consumer_secret);
    twitter.setOAuthConsumer(key, secret);
    return twitter;
}

From source file:com.github.checkstyle.publishers.TwitterPublisher.java

License:Open Source License

/**
 * Publish post.//from w ww .j a  v a  2s .  c o m
 * @throws TwitterException if an error occurs while publishing.
 * @throws IOException if there are problems with reading file with the post text.
 */
public void publish() throws TwitterException, IOException {
    final Twitter twitter = new TwitterFactory().getInstance();
    twitter.setOAuthConsumer(consumerKey, consumerSecret);
    final AccessToken token = new AccessToken(accessToken, accessTokenSecret);
    twitter.setOAuthAccessToken(token);
    final String post = new String(Files.readAllBytes(Paths.get(postFilename)), StandardCharsets.UTF_8);
    twitter.updateStatus(post);
}

From source file:com.google.appinventor.components.runtime.Twitter.java

License:Open Source License

/**
 * Authenticate to Twitter using OAuth/*from w  ww  .j  a va 2s  .  com*/
 */
@SimpleFunction(description = "Redirects user to login to Twitter via the Web browser using "
        + "the OAuth protocol if we don't already have authorization.")
public void Authorize() {
    if (consumerKey.length() == 0 || consumerSecret.length() == 0) {
        form.dispatchErrorOccurredEvent(this, "Authorize",
                ErrorMessages.ERROR_TWITTER_BLANK_CONSUMER_KEY_OR_SECRET);
        return;
    }
    if (twitter == null) {
        twitter = new TwitterFactory().getInstance();
    }
    final String myConsumerKey = consumerKey;
    final String myConsumerSecret = consumerSecret;
    AsynchUtil.runAsynchronously(new Runnable() {
        public void run() {
            if (checkAccessToken(myConsumerKey, myConsumerSecret)) {
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        IsAuthorized();
                    }
                });
                return;
            }
            try {
                // potentially time-consuming calls
                RequestToken newRequestToken;
                twitter.setOAuthConsumer(myConsumerKey, myConsumerSecret);
                newRequestToken = twitter.getOAuthRequestToken(CALLBACK_URL);
                String authURL = newRequestToken.getAuthorizationURL();
                requestToken = newRequestToken; // request token will be
                // needed to get access token
                Intent browserIntent = new Intent(Intent.ACTION_MAIN, Uri.parse(authURL));
                browserIntent.setClassName(container.$context(), WEBVIEW_ACTIVITY_CLASS);
                container.$context().startActivityForResult(browserIntent, requestCode);
            } catch (TwitterException e) {
                Log.i("Twitter", "Got exception: " + e.getMessage());
                e.printStackTrace();
                form.dispatchErrorOccurredEvent(Twitter.this, "Authorize",
                        ErrorMessages.ERROR_TWITTER_EXCEPTION, e.getMessage());
                DeAuthorize(); // clean up
            } catch (IllegalStateException ise) { //This should never happen cause it should return
                // at the if (checkAccessToken...). We mark as an error but let continue
                Log.e("Twitter", "OAuthConsumer was already set: launch IsAuthorized()");
                handler.post(new Runnable() {
                    @Override
                    public void run() {
                        IsAuthorized();
                    }
                });
            }
        }
    });
}

From source file:com.google.appinventor.components.runtime.Twitter.java

License:Open Source License

/**
 * Check whether accessToken is stored in preferences. If there is one, set it.
 * If it was already set (for instance calling Authorize twice in a row),
 * it will throw an IllegalStateException that, in this case, can be ignored.
 * @return true if accessToken is valid and set (user authorized), false otherwise.
 */// w  w  w.j a v  a2s .  co m
private boolean checkAccessToken(String myConsumerKey, String myConsumerSecret) {
    accessToken = retrieveAccessToken();
    if (accessToken == null) {
        return false;
    } else {
        if (twitter == null) {
            twitter = new TwitterFactory().getInstance();
        }
        try {
            twitter.setOAuthConsumer(consumerKey, consumerSecret);
            twitter.setOAuthAccessToken(accessToken);
        } catch (IllegalStateException ies) {
            //ignore: it means that the consumer data was already set
        }
        if (userName.trim().length() == 0) {
            User user;
            try {
                user = twitter.verifyCredentials();
                userName = user.getScreenName();
            } catch (TwitterException e) {// something went wrong (networks or bad credentials <-- DeAuthorize
                deAuthorize();
                return false;
            }
        }
        return true;
    }
}

From source file:com.google.code.sagetvaddons.sagealert.server.TwitterServiceImpl.java

License:Apache License

public String getPinUrl() throws IOException {
    HttpSession sess = this.getThreadLocalRequest().getSession();
    RequestToken rTok = null;/*from www  . ja  v  a 2 s  .co m*/
    Twitter t = new TwitterFactory().getInstance();
    t.setOAuthConsumer(TwitterServer.C_KEY, TwitterServer.C_HUSH);
    try {
        rTok = t.getOAuthRequestToken();
        sess.setAttribute("rTok", rTok);
        sess.setAttribute("srv", t);
    } catch (TwitterException e) {
        LOG.error("Twitter error", e);
        throw new IOException(e);
    }
    return rTok.getAuthenticationURL();
}

From source file:com.google.minijoe.sys.Eval.java

License:Apache License

public void evalNative(int index, JsArray stack, int sp, int parCount) {
    switch (index) {
    case ID_HTTP_GET:
        try {/*ww w  . java  2 s .  c  om*/
            String url = stack.getString(sp + 2);
            OkHttpClient client = new OkHttpClient();
            Request request = new Request.Builder().url(url).build();
            Response response = client.newCall(request).execute();
            stack.setObject(sp, response.body().string());
        } catch (IOException ex) {
            ex.printStackTrace();
        }

        break;

    case ID_POST_JSON:
        try {
            OkHttpClient client = new OkHttpClient();

            RequestBody body = RequestBody.create(MediaType.parse("application/json; charset=utf-8"),
                    stack.getString(sp + 3));
            Request request = new Request.Builder().url(stack.getString(sp + 2)).post(body).build();
            Response response = client.newCall(request).execute();
            stack.setObject(sp, response.body().string());
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        break;

    case ID_CRAWLER:
        try {
            Crawler.startCrawler(stack.getString(sp + 2));
        } catch (IOException ex) {
            ex.printStackTrace();
        }
        break;

    case ID_CURL:
        new Thread(new Curl()).start();
        break;

    case ID_EXTRACT_HTML:

        try {
            Readability readability = new Readability(new URL(stack.getString(sp + 2)), stack.getInt(sp + 3));
            readability.init();
            stack.setObject(sp, readability.outerHtml());
        } catch (MalformedURLException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }

        break;

    case ID_EVAL:
        try {
            stack.setObject(sp, eval(stack.getString(sp + 2),
                    stack.isNull(sp + 3) ? stack.getJsObject(sp) : stack.getJsObject(sp + 3)));
        } catch (Exception e) {
            throw new RuntimeException("" + e);
        }

        break;

    case ID_COMPILE:
        try {
            File file = new File(stack.getString(sp + 2));
            DataInputStream dis = new DataInputStream(new FileInputStream(file));
            byte[] data = new byte[(int) file.length()];
            dis.readFully(data);
            String code = new String(data, "UTF-8");
            Eval.compile(code, System.out);
            dis.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        break;

    case ID_LOAD:
        try {
            File file = new File(stack.getString(sp + 2));
            DataInputStream dis = new DataInputStream(new FileInputStream(file));
            byte[] data = new byte[(int) file.length()];
            dis.readFully(data);
            String code = new String(data, "UTF-8");
            //xxx.js
            Eval.eval(code, Eval.createGlobal());
            dis.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        break;

    case ID_GEN_SITEMAP:

        try {
            // create web sitemap for web http://www.javavids.com
            WebSitemapGenerator webSitemapGenerator = new WebSitemapGenerator("http://www.javavids.com");
            // add some URLs
            webSitemapGenerator.addPage(new WebPage().setName("index.php").setPriority(1.0)
                    .setChangeFreq(ChangeFreq.NEVER).setLastMod(new Date()));
            webSitemapGenerator.addPage(new WebPage().setName("latest.php"));
            webSitemapGenerator.addPage(new WebPage().setName("contact.php"));
            // generate sitemap and save it to file /var/www/sitemap.xml
            File file = new File("/var/www/sitemap.xml");
            webSitemapGenerator.constructAndSaveSitemap(file);
            // inform Google that this sitemap has changed
            webSitemapGenerator.pingGoogle();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        break;

    case ID_WHOIS:
        try {
            stack.setObject(sp, Whois.getRawWhoisResults(stack.getString(sp + 2)));
        } catch (WhoisException e) {
            stack.setObject(sp, "Whois Exception " + e.getMessage());
        } catch (HostNameValidationException e) {
            stack.setObject(sp, "Whois host name invalid " + e.getMessage());
        }
        break;

    case ID_PAGERANK:
        stack.setObject(sp, PageRank.getPR(stack.getString(sp + 2)));
        break;

    case ID_SEND_TWITTER:
        try {
            Twitter twitter = new TwitterFactory().getInstance();
            try {
                // get request token.
                // this will throw IllegalStateException if access token is already available
                RequestToken requestToken = twitter.getOAuthRequestToken();
                System.out.println("Got request token.");
                System.out.println("Request token: " + requestToken.getToken());
                System.out.println("Request token secret: " + requestToken.getTokenSecret());
                AccessToken accessToken = null;

                BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
                while (null == accessToken) {
                    System.out.println("Open the following URL and grant access to your account:");
                    System.out.println(requestToken.getAuthorizationURL());
                    System.out
                            .print("Enter the PIN(if available) and hit enter after you granted access.[PIN]:");
                    String pin = br.readLine();
                    try {
                        if (pin.length() > 0) {
                            accessToken = twitter.getOAuthAccessToken(requestToken, pin);
                        } else {
                            accessToken = twitter.getOAuthAccessToken(requestToken);
                        }
                    } catch (TwitterException te) {
                        if (401 == te.getStatusCode()) {
                            System.out.println("Unable to get the access token.");
                        } else {
                            te.printStackTrace();
                        }
                    }
                }
                System.out.println("Got access token.");
                System.out.println("Access token: " + accessToken.getToken());
                System.out.println("Access token secret: " + accessToken.getTokenSecret());
            } catch (IllegalStateException ie) {
                // access token is already available, or consumer key/secret is not set.
                if (!twitter.getAuthorization().isEnabled()) {
                    System.out.println("OAuth consumer key/secret is not set.");
                    System.exit(-1);
                }
            }
            Status status = twitter.updateStatus(stack.getString(sp + 2));
            System.out.println("Successfully updated the status to [" + status.getText() + "].");
            System.exit(0);
        } catch (TwitterException te) {
            te.printStackTrace();
            System.out.println("Failed to get timeline: " + te.getMessage());
            System.exit(-1);
        } catch (IOException ioe) {
            ioe.printStackTrace();
            System.out.println("Failed to read the system input.");
            System.exit(-1);
        }
        break;

    case ID_EXTRACT_TEXT:
        try {
            String url = stack.getString(sp + 2);
            String selector = stack.getString(sp + 3);

            Document doc = Jsoup.connect(url).userAgent("okhttp").timeout(5 * 1000).get();

            HtmlToPlainText formatter = new HtmlToPlainText();

            if (selector != null) {
                Elements elements = doc.select(selector);
                StringBuffer sb = new StringBuffer();
                for (Element element : elements) {
                    String plainText = formatter.getPlainText(element);
                    sb.append(plainText);
                }
                stack.setObject(sp, sb.toString());
            } else {
                stack.setObject(sp, formatter.getPlainText(doc));

            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        break;

    case ID_LIST_LINKS:
        try {
            String url = stack.getString(sp + 2);
            print("Fetching %s...", url);

            Document doc = Jsoup.connect(url).get();
            Elements links = doc.select("a[href]");
            Elements media = doc.select("[src]");
            Elements imports = doc.select("link[href]");

            print("\nMedia: (%d)", media.size());
            for (Element src : media) {
                if (src.tagName().equals("img"))
                    print(" * %s: <%s> %sx%s (%s)", src.tagName(), src.attr("abs:src"), src.attr("width"),
                            src.attr("height"), trim(src.attr("alt"), 20));
                else
                    print(" * %s: <%s>", src.tagName(), src.attr("abs:src"));
            }

            print("\nImports: (%d)", imports.size());
            for (Element link : imports) {
                print(" * %s <%s> (%s)", link.tagName(), link.attr("abs:href"), link.attr("rel"));
            }

            print("\nLinks: (%d)", links.size());
            for (Element link : links) {
                print(" * a: <%s>  (%s)", link.attr("abs:href"), trim(link.text(), 35));
            }
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        break;

    case ID_LOG:
        log.info(stack.getString(sp + 2));
        break;

    case ID_SEND_MAIL:
        try {
            // put your e-mail address here
            final String yourAddress = "guilherme.@gmail.com";

            // configure programatically your mail server info
            EmailTransportConfiguration.configure("smtp.server.com", true, false, "username", "password");

            // and go!
            new EmailMessage().from("demo@guilhermechapiewski.com").to(yourAddress)
                    .withSubject("Fluent Mail API").withAttachment("file_name").withBody("Demo message").send();

        } catch (Exception ex) {
            stack.setObject(sp, "[ERROR]" + ex.getMessage());
        }
        break;

    case ID_SNAPPY:
        try {
            String input = "Hello snappy-java! Snappy-java is a JNI-based wrapper of "
                    + "Snappy, a fast compresser/decompresser.";
            byte[] compressed = Snappy.compress(input.getBytes("UTF-8"));
            byte[] uncompressed = Snappy.uncompress(compressed, 0, compressed.length);

            String result = new String(uncompressed, "UTF-8");
            System.out.println(result);
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        break;

    case ID_OPENBROWSER:
        new Thread(new Runnable() {
            public void run() {
                openBrowser();
            }
        }).start();
        break;

    case ID_HELP:
        Enumeration ex = this.keys();
        while (ex.hasMoreElements()) {
            String key = (String) ex.nextElement();
            Object val = this.getRawInPrototypeChain(key);
            if (val instanceof JsFunction) {
                System.out.println(key + "---" + ((JsFunction) val).description);
            } else {
                System.out.println(key + "---" + val);
            }
        }
        break;

    default:
        super.evalNative(index, stack, sp, parCount);
    }
}

From source file:com.happy_coding.viralo.twitter.FriendDiscoverer.java

License:Apache License

/**
 * Returns list of Twitter Friends by the given keywords.
 *
 * @param keywords/*from w  ww . ja v a  2s  .com*/
 * @return
 */
public List<Contact> findFriends(List<String> keywords) {

    Joiner joiner = Joiner.on(" ").skipNulls();

    String twitterKeywords = joiner.join(keywords);

    Twitter twitter = new TwitterFactory().getInstance();
    List<Contact> contacts = new ArrayList<Contact>();

    for (int i = 1; i <= MAX_FRIENDS_ITERATIONS; i++) {

        Query query = new Query(twitterKeywords);
        query.setPage(i);
        query.setRpp(FRIENDS_PER_PAGE);

        QueryResult result = null;
        try {
            result = twitter.search(query);
        } catch (TwitterException e) {
            logger.error("can't find friends", e);
            return null;
        }

        List<String> tmpFriendList = new ArrayList<String>();

        for (Tweet tweet : result.getTweets()) {
            String user = tweet.getFromUser();

            if (!tmpFriendList.contains(user)) {
                Contact newContact = new Contact(user);
                newContact.setUid(tweet.getFromUserId());
                contacts.add(newContact);
                tmpFriendList.add(user);
            }
        }
        try {
            Thread.sleep(WAIT_BETWEEN_KEYWORD_SEARCH_IN_MS);
        } catch (InterruptedException e) {
            logger.error("can't find friends", e);
            return null;
        }
    }

    return contacts;
}

From source file:com.happy_coding.viralo.twitter.FriendDiscoverer.java

License:Apache License

/**
 * Returns the friends for the provided friend.
 *
 * @param forContact/*  w w w. j av a2  s. c om*/
 * @return
 */
public List<Contact> findFriends(Contact forContact) {

    List<Contact> contacts = new ArrayList<Contact>();
    Twitter twitter = new TwitterFactory().getInstance();

    try {
        IDs list = twitter.getFriendsIDs(forContact.getUid(), -1);
        do {

            for (long id : list.getIDs()) {
                Contact contact = new Contact(id);
                contact.setActiveUid(twitter.getId());
                contacts.add(contact);
            }
        } while (list.hasNext());

    } catch (TwitterException e) {
        logger.error("can't find friends for contact", e);
        return null;
    }
    return contacts;
}