Search this blog

Tuesday, 7 March 2017

Post to twitter using Twitter4J API in Oracle ADF and Java

Hello All

In this post I am talking about how to post a tweet on your twitter timeline using Twitter4J Java API in your Oracle ADF Application
Using this API makes the process very simple , For accessing twitter we need Twitter API keys, It is called Consumer Key and Access Token

For this you need a twitter account and then follow these steps

Create a Twitter App

Go to Twitter Apps , Click on Create New App

Fill basic details as Application Name, Description and Website

Go to Permissions tab of app and allow access to Read, Write and Access direct messages

Now go to Keys and Access Tokens tab of app and note down Consumer key and Consumer Secret 

and there is a button to create Access Token  too (We will need it later)

Create Application to Tweet using Twitter4J API

Create a Fusion Web Application and attach twitter4j-core-4.0.4.jar to viewController project and create a page with one input text and a button

<af:panelFormLayout id="pfl1">
                    <af:inputText label="Your Text" id="it1" rows="3" contentStyle="width:350px;font-weight:bold;"
                    <af:link id="l1" icon="#{resource['images:tweet-button-2015.png']}"

looks like this on page

Now see managed bean code that posts tweet

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;


import twitter4j.Twitter;
import twitter4j.TwitterException;
import twitter4j.TwitterFactory;

import twitter4j.auth.AccessToken;

public class TweetUsingJavaAPIBean {
    //Component Binding of input text
    private RichInputText tweetTextBind;
    public void setTweetTextBind(RichInputText tweetTextBind) {
        this.tweetTextBind = tweetTextBind;

    public RichInputText getTweetTextBind() {
        return tweetTextBind;
    public TweetUsingJavaAPIBean() {

    // Put your app consumer key, secret and access token , secret here
    private static final String consumerKey = "K************X";
    private static final String consumerSecret = "u******************************RrD";
    private static final String token = "4876****************************************7Vlg";
    private static final String tokenSecret = "H2u***********************************y9";

    /**Method to post tweet using Twitter4J API
     * @param actionEvent
    public void postTweetAction(ActionEvent actionEvent) {
        if (tweetTextBind.getValue() != null) {
            try {
                Twitter twitter = new TwitterFactory().getInstance();

                twitter.setOAuthConsumer(consumerKey, consumerSecret);
                AccessToken accessToken = new AccessToken(token, tokenSecret);



            } catch (TwitterException te) {
        } else {
            FacesMessage errMsg = new FacesMessage("Tweet Can't be empty");
            FacesContext.getCurrentInstance().addMessage(tweetTextBind.getClientId(), errMsg);

Now run and check application

 On Twitter Timeline

Sample ADF Application- Download

Cheers :) Happy Learning


  1. For that a bit of stalking is required on your part. You can keep a check on the pages your followers are following and keep yourself updated with the likes and dislikes of your target audience.Twitter On