In this section you will learn how to send direct message to the a twitter user in his message box using his twitterId.
Send direct message to a user
In this section you will learn how to send direct message to the a twitter user in his message box using his twitterId.
For sending direct message to the a user in his message box , we need OAuth authorization scheme of Twitter for authenticating user.
Twitter4j Java library have this OAuth support.
Please follow the below steps to get Twitter OAuth support :
STEP-1 : For this you need to register your application at http://twitter.com/oauth_clients/new . Please set the Default Access type to Read, Write, & Direct Messages . This will provide access to read & write tweet/status and also provide facility to send direct messages.
STEP-2 :After registering your application you will get the following things :
- Consumer key
XXXXXXXXXXXX
- Consumer secret
XXXXXXXXXXXX
- Request token URL XXXXXXXXXXXX
- Authorize URL
XXXXXXXXXXXX
- Access token URL XXXXXXXXXXXX
- Callback URL XXXXXXXXXXXX
- Access token XXXXXXXXXXXX
- Access token secret XXXXXXXXXXXX
- Access level Read XXXXXXXXXXXX
NOTE : Please note down the keys before closing page after application registration and also don't share these keys with anyone.
CODE
Place the keys which you got after registration by replacing the square [] brackets .Code is given below :
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" import="java.util.*,twitter4j.*,twitter4j.conf.ConfigurationBuilder"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <%@page import="twitter4j.ProfileImage.ImageSize"%><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <% // configuring Twitter4j ConfigurationBuilder cb = new ConfigurationBuilder(); cb.setDebugEnabled(true); cb.setOAuthConsumerKey("[consumer key]"); cb.setOAuthConsumerSecret("[consumer secret]"); cb.setOAuthAccessToken("[Access Token]"); cb.setOAuthAccessTokenSecret("[Access Token Secret]"); TwitterFactory tf = new TwitterFactory(cb.build()); Twitter twitter = tf.getInstance(); out.println("<h2>Sending message to the user..</h2><br/>"); // Getting user id through his screen name User user = twitter.showUser("vinay_rockstar"); // Sending Direct Messages in message box DirectMessage message = twitter.sendDirectMessage(105487445, "Hello friend!!This message is test message..Plz ignore"); out.println("<b>Sent: " +message.getText() + " to @" + message.getRecipientScreenName()+"</b>"); %> </body> </html>
[ 0 ] Comments