public class

TwitterConnector

extends Object
implements MuleContextAware
java.lang.Object
   ↳ org.mule.twitter.TwitterConnector
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Twitter is an online social networking service and microblogging service that enables its users to send and read text-based posts of up to 140 characters, known as "tweets".

Summary

Constants
String SITE_STREAM_BASE_URL
String STREAM_BASE_URL
Fields
private String accessKey The access key provided by Twitter
private String accessSecret The access secret provided by Twitter
private String consumerKey The consumer key used by this application
private String consumerSecret The consumer key secret by this application
protected Log logger
private String proxyHost Proxy host
private String proxyPassword Proxy password
private int proxyPort Proxy port
private String proxyUsername Proxy username
private TwitterStream stream
private Twitter twitter
private boolean useSSL Whether to use SSL in API calls to Twitter
Public Constructors
TwitterConnector()
Public Methods
Place createPlace(String name, String containedWithin, String token, Double latitude, Double longitude, String streetAddress)
Creates a new place at the given latitude and longitude.
Status destroyStatus(long statusId)
Destroys the status specified by the required ID parameter.
void filteredStream(int count, List<Long> userIds, List<String> keywords, SourceCallback callback)
Asynchronously retrieves public statuses that match one or more filter predicates.
void firehoseStream(int count, SourceCallback callback)
Asynchronously retrieves all public statuses.
ResponseList<Location> getAvailableTrends(Double latitude, Double longitude)
Returns the sorted locations that Twitter has trending topic information for.
List<Trends> getDailyTrends(Date date, boolean excludeHashTags)
Returns the top 20 trending topics for each hour in a given day.
Place getGeoDetails(String id)
Find out more details of a place that was returned from the reverseGeoCode operation.
ResponseList<Status> getHomeTimeline(int page, int count, int sinceId)
Returns the 20 most recent statuses, including retweets, posted by the authenticating user and that user's friends.
Trends getLocationTrends(int woeid)
Returns the top 10 trending topics for a specific location Twitter has trending topic information for.
ResponseList<Status> getMentions(int page, int count, int sinceId)
Returns the 20 most recent mentions (status containing @username) for the authenticating user.
ResponseList<Status> getPublicTimeline()
Returns the 20 most recent statuses from non-protected users who have set a custom user icon.
ResponseList<User> getRetweetedBy(long statusId, int page, int count, int sinceId)
Show user objects of up to 100 members who retweeted the status.
IDs getRetweetedByIDs(long statusId, int page, int count, int sinceId)
Show user ids of up to 100 users who retweeted the status represented by id
This method calls http://api.twitter.com/1/statuses/:id/retweeted_by/ids.format

ResponseList<Status> getRetweetedByMe(int page, int count, int sinceId)
Returns the 20 most recent retweets posted by the authenticating user.
ResponseList<Status> getRetweetedByUserByScreenName(String screenName, int page, int count, int sinceId)
Returns the 20 most recent retweets posted by the specified user.
ResponseList<Status> getRetweetedByUserByUserId(long userId, int page, int count, int sinceId)
Returns the 20 most recent retweets posted by the specified user.
ResponseList<Status> getRetweetedToMe(int page, int count, int sinceId)
Returns the 20 most recent retweets posted by the authenticating user's friends.
ResponseList<Status> getRetweetedToUserByScreenName(String screenName, int page, int count, int sinceId)
Returns the 20 most recent retweets posted by users the specified user follows.
ResponseList<Status> getRetweetedToUserByUserId(long userId, int page, int count, int sinceId)
Returns the 20 most recent retweets posted by users the specified user follows.
ResponseList<Status> getRetweets(long statusId)
Returns up to 100 of the first retweets of a given tweet.
ResponseList<Status> getRetweetsOfMe(int page, int count, int sinceId)
Returns the 20 most recent tweets of the authenticated user that have been retweeted by others.
Twitter getTwitterClient()
boolean getUseSSL()
ResponseList<Status> getUserTimeline(int page, int count, int sinceId)
Returns the 20 most recent statuses posted from the authenticating user.
ResponseList<Status> getUserTimelineByScreenName(String screenName, int page, int count, int sinceId)
Returns the 20 most recent statuses posted from the authenticating user.
ResponseList<Status> getUserTimelineByUserId(long userId, int page, int count, int sinceId)
Returns the 20 most recent statuses posted from the authenticating user.
List<Trends> getWeeklyTrends(Date date, boolean excludeHashTags)
Returns the top 30 trending topics for each day in a given week.
void initialise()
void linkStream(int count, SourceCallback callback)
Asynchronously retrieves all statuses containing 'http:' and 'https:'.
String requestAuthorization(String callbackUrl)
Start the OAuth request authorization process.
Status retweetStatus(long statusId)
Retweets a tweet.
ResponseList<Place> reverseGeoCode(Double latitude, Double longitude, String ip)
Search for places (cities and neighborhoods) that can be attached to a statuses/update.
void sampleStream(SourceCallback callback)
Asynchronously retrieves a random sample of all public statuses.
QueryResult search(String query, String lang, String locale, Long maxId, Integer rpp, Integer page, String since, Long sinceId, String geocode, String radius, String unit, String until, String resultType)
Returns tweets that match a specified query.
ResponseList<Place> searchPlaces(Double latitude, Double longitude, String ip)
Search for places that can be attached to a statuses/update.
DirectMessage sendDirectMessageByScreenName(String screenName, String message)
Sends a new direct message to the specified user from the authenticating user.
DirectMessage sendDirectMessageByUserId(long userId, String message)
Sends a new direct message to the specified user from the authenticating user.
void setAccessKey(String accessToken)
void setAccessSecret(String accessTokenSecret)
void setConsumerKey(String consumerKey)
void setConsumerSecret(String consumerSecret)
void setMuleContext(MuleContext context)
void setOauthVerifier(String oauthVerifier)
Set the OAuth verifier after it has been retrieved via requestAuthorization.
void setProxyHost(String proxyHost)
void setProxyPassword(String proxyPassword)
void setProxyPort(int proxyPort)
void setProxyUsername(String proxyUsername)
void setUseSSL(boolean useSSL)
Status showStatus(long id)
Returns a single status, specified by the id parameter below.
User showUser()
Answers user information for the authenticated user

void siteStream(List<Long> userIds, boolean withFollowings, SourceCallback callback_)
Asynchronously retrieves statutes for a set of supplied user's ids.
Status updateStatus(String status, long inReplyTo, Double latitude, Double longitude)
Updates the authenticating user's status.
void userStream(List<String> keywords, SourceCallback callback_)
Retrieves the following user updates notifications:
- New Statuses
- Block/Unblock events
- Follow events
- User profile updates
- Retweets
- List creation/deletion
- List member addition/remotion
- List subscription/unsubscription
- List updates
- Profile updates

Such notifications are represented as org.mule.twitter.UserEvent objects

Only one Twitter stream can be consumed using the same credentials.

Protected Methods
Paging getPaging(int page, int count, long sinceId)
[Expand]
Inherited Methods
From class java.lang.Object
From interface org.mule.api.context.MuleContextAware

Constants

private static final String SITE_STREAM_BASE_URL

Constant Value: "https://sitestream.twitter.com/2b/"

private static final String STREAM_BASE_URL

Constant Value: "https://stream.twitter.com/1/"

Fields

private String accessKey

The access key provided by Twitter

private String accessSecret

The access secret provided by Twitter

private String consumerKey

The consumer key used by this application

private String consumerSecret

The consumer key secret by this application

protected Log logger

private String proxyHost

Proxy host

private String proxyPassword

Proxy password

private int proxyPort

Proxy port

private String proxyUsername

Proxy username

private TwitterStream stream

private Twitter twitter

private boolean useSSL

Whether to use SSL in API calls to Twitter

Public Constructors

public TwitterConnector ()

Public Methods

public Place createPlace (String name, String containedWithin, String token, Double latitude, Double longitude, String streetAddress)

Creates a new place at the given latitude and longitude.

Parameters
name The name a place is known as.
containedWithin The place_id within which the new place can be found. Try and be as close as possible with the containing place. For example, for a room in a building, set the contained_within as the building place_id.
token The token found in the response from geo/similar_places.
latitude The latitude the place is located at.
longitude The longitude the place is located at.
streetAddress Optional: This parameter searches for places which have this given street address. There are other well-known, and application specific attributes available. Custom attributes are also permitted. Learn more about Place Attributes.
Returns
  • a new Place
Throws
TwitterException

public Status destroyStatus (long statusId)

Destroys the status specified by the required ID parameter.
Usage note: The authenticating user must be the author of the specified status.
This method calls http://api.twitter.com/1/statuses/destroy

Parameters
statusId The ID of the status to destroy.
Returns
  • the deleted Status
Throws
TwitterException when Twitter service or network is unavailable

public void filteredStream (int count, List<Long> userIds, List<String> keywords, SourceCallback callback)

Asynchronously retrieves public statuses that match one or more filter predicates.

At least a keyword or userId must be specified. Multiple parameters may be specified.

Placing long parameters in the URL may cause the request to be rejected for excessive URL length.

The default access level allows up to 200 track keywords and 400 follow userids.

Only one Twitter stream can be consumed using the same credentials. As a consequence, only one twitter stream can be consumed per connector instance.

Parameters
count The number of previous statuses to stream before transitioning to the live stream.
userIds The user ids to follow
keywords The keywords to track
callback The SourceCallback used to dispatch messages when a response is received

public void firehoseStream (int count, SourceCallback callback)

Asynchronously retrieves all public statuses. This stream is not generally available - it requires special permissions and its usage is discouraged by Twitter

Only one Twitter stream can be consumed using the same credentials. As a consequence, only one twitter stream can be consumed per connector instance.

Parameters
count Indicates the number of previous statuses to consider for delivery before transitioning to live stream delivery.
callback The SourceCallback used to dispatch messageswhen a response is received

public ResponseList<Location> getAvailableTrends (Double latitude, Double longitude)

Returns the sorted locations that Twitter has trending topic information for. The response is an array of "locations" that encode the location's WOEID (a Yahoo! Where On Earth ID) and some other human-readable information such as a canonical name and country the location belongs in.
The available trend locations will be sorted by distance to the lat and long passed in. The sort is nearest to furthest.

Parameters
latitude The latitude
longitude The longitude
Returns
  • the Locations
Throws
TwitterException

public List<Trends> getDailyTrends (Date date, boolean excludeHashTags)

Returns the top 20 trending topics for each hour in a given day.

Parameters
date Starting date of daily trends. If no date is specified, current date is used
excludeHashTags Whether hashtags should be excluded
Returns
  • a list of Trends objects
Throws
TwitterException

public Place getGeoDetails (String id)

Find out more details of a place that was returned from the reverseGeoCode operation.

Parameters
id The ID of the location to query about.
Returns
  • a Place
Throws
TwitterException

public ResponseList<Status> getHomeTimeline (int page, int count, int sinceId)

Returns the 20 most recent statuses, including retweets, posted by the authenticating user and that user's friends. This is the equivalent of /timeline/home on the Web.
Usage note: This home_timeline call is identical to statuses/friends_timeline, except that home_timeline also contains retweets, while statuses/friends_timeline does not for backwards compatibility reasons. In a future version of the API, statuses/friends_timeline will be deprected and replaced by home_timeline.
This method calls http://api.twitter.com/1/statuses/home_timeline

Parameters
page Specifies the page of results to retrieve.
count Specifies the number of records to retrieve. Must be less than or equal to 200.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • list of Status of the home Timeline
Throws
TwitterException when Twitter service or network is unavailable

public Trends getLocationTrends (int woeid)

Returns the top 10 trending topics for a specific location Twitter has trending topic information for. The response is an array of "trend" objects that encode the name of the trending topic, the query parameter that can be used to search for the topic on Search, and the direct URL that can be issued against Search. This information is cached for five minutes, and therefore users are discouraged from querying these endpoints faster than once every five minutes. Global trends information is also available from this API by using a WOEID of 1.

Parameters
woeid The WOEID of the location to be querying for
Returns
  • trends
Throws
TwitterException

public ResponseList<Status> getMentions (int page, int count, int sinceId)

Returns the 20 most recent mentions (status containing @username) for the authenticating user.
This method calls http://api.twitter.com/1/statuses/mentions

Parameters
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent mentions (Status containing @username) for the authenticating user.
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getPublicTimeline ()

Returns the 20 most recent statuses from non-protected users who have set a custom user icon. The public timeline is cached for 60 seconds and requesting it more often than that is unproductive and a waste of resources.
This method calls http://api.twitter.com/1/statuses/public_timeline

Returns
  • list of Status of the Public Timeline
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<User> getRetweetedBy (long statusId, int page, int count, int sinceId)

Show user objects of up to 100 members who retweeted the status.
This method calls http://api.twitter.com/1/statuses/:id/retweeted_by

Parameters
statusId The ID of the status you want to get retweeters of
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the list of User who retweeted your status
Throws
TwitterException when Twitter service or network is unavailable

public IDs getRetweetedByIDs (long statusId, int page, int count, int sinceId)

Show user ids of up to 100 users who retweeted the status represented by id
This method calls http://api.twitter.com/1/statuses/:id/retweeted_by/ids.format

Parameters
statusId The ID of the status you want to get retweeters of
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • IDs of users who retweeted the stats
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetedByMe (int page, int count, int sinceId)

Returns the 20 most recent retweets posted by the authenticating user.
This method calls http://api.twitter.com/1/statuses/retweeted_by_me

Parameters
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent retweets (Status) posted by the authenticating user
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetedByUserByScreenName (String screenName, int page, int count, int sinceId)

Returns the 20 most recent retweets posted by the specified user. This method is identical to statuses/retweeted_by_me except you can choose the user to view.
This method has not been finalized and the interface is subject to change in incompatible ways.
This method calls http://api.twitter.com/1/statuses/retweeted_by_user

Parameters
screenName The user to view
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent retweets (Status) posted by the authenticating user
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetedByUserByUserId (long userId, int page, int count, int sinceId)

Returns the 20 most recent retweets posted by the specified user. This method is identical to statuses/retweeted_by_me except you can choose the user to view.
This method has not been finalized and the interface is subject to change in incompatible ways.
This method calls http://api.twitter.com/1/statuses/retweeted_by_user

Parameters
userId The user to view
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent retweets (Status) posted by the authenticating user
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetedToMe (int page, int count, int sinceId)

Returns the 20 most recent retweets posted by the authenticating user's friends.
This method calls http://api.twitter.com/1/statuses/retweeted_to_me

Parameters
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent retweets (Status) posted by the authenticating user's friends.
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetedToUserByScreenName (String screenName, int page, int count, int sinceId)

Returns the 20 most recent retweets posted by users the specified user follows. This method is identical to statuses/retweeted_to_me except you can choose the user to view.
This method has not been finalized and the interface is subject to change in incompatible ways.
This method calls http://api.twitter.com/1/statuses/retweeted_to_user

Parameters
screenName The user to view
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent retweets (Status) posted by the authenticating user's friends.
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetedToUserByUserId (long userId, int page, int count, int sinceId)

Returns the 20 most recent retweets posted by users the specified user follows. This method is identical to statuses/retweeted_to_me except you can choose the user to view.
This method has not been finalized and the interface is subject to change in incompatible ways.
This method calls http://api.twitter.com/1/statuses/retweeted_to_user

Parameters
userId The user to view
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent retweets (Status) posted by the authenticating user's friends.
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweets (long statusId)

Returns up to 100 of the first retweets of a given tweet.
This method calls http://api.twitter.com/1/statuses/retweets

Parameters
statusId The numerical ID of the tweet you want the retweets of.
Returns
  • the retweets (Status) of a given tweet
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getRetweetsOfMe (int page, int count, int sinceId)

Returns the 20 most recent tweets of the authenticated user that have been retweeted by others.
This method calls http://api.twitter.com/1/statuses/retweets_of_me

Parameters
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • the 20 most recent tweets (Status)of the authenticated user that have been retweeted by others.
Throws
TwitterException when Twitter service or network is unavailable

public Twitter getTwitterClient ()

public boolean getUseSSL ()

public ResponseList<Status> getUserTimeline (int page, int count, int sinceId)

Returns the 20 most recent statuses posted from the authenticating user. It's also possible to request another user's timeline via the id parameter.
This is the equivalent of the Web / page for your own user, or the profile page for a third party.
For backwards compatibility reasons, retweets are stripped out of the user_timeline when calling in XML or JSON (they appear with 'RT' in RSS and Atom). If you'd like them included, you can merge them in from statuses retweeted_by_me.

This method calls http://api.twitter.com/1/statuses/user_timeline.json

Parameters
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • list of Status the user Timeline
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getUserTimelineByScreenName (String screenName, int page, int count, int sinceId)

Returns the 20 most recent statuses posted from the authenticating user. It's also possible to request another user's timeline via the id parameter.
This is the equivalent of the Web / page for your own user, or the profile page for a third party.
For backwards compatibility reasons, retweets are stripped out of the user_timeline when calling in XML or JSON (they appear with 'RT' in RSS and Atom). If you'd like them included, you can merge them in from statuses retweeted_by_me.

This method calls http://api.twitter.com/1/statuses/user_timeline.json

Parameters
screenName The screen name of the user for whom to return results for
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • list of Status of the user Timeline
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Status> getUserTimelineByUserId (long userId, int page, int count, int sinceId)

Returns the 20 most recent statuses posted from the authenticating user. It's also possible to request another user's timeline via the id parameter.
This is the equivalent of the Web / page for your own user, or the profile page for a third party.
For backwards compatibility reasons, retweets are stripped out of the user_timeline when calling in XML or JSON (they appear with 'RT' in RSS and Atom). If you'd like them included, you can merge them in from statuses retweeted_by_me.

This method calls http://api.twitter.com/1/statuses/user_timeline.json

Parameters
userId Specifies the ID of the user for whom to return the user_timeline
page Specifies the page of results to retrieve.
count Specifies the number of tweets to try and retrieve, up to a maximum of 200. The value of count is best thought of as a limit to the number of tweets to return because suspended or deleted content is removed after the count has been applied.
sinceId Returns results with an ID greater than (that is, more recent than) the specified ID. There are limits to the number of Tweets which can be accessed through the API. If the limit of Tweets has occured since the since_id, the since_id will be forced to the oldest ID available.
Returns
  • list of Status of the user Timeline
Throws
TwitterException when Twitter service or network is unavailable

public List<Trends> getWeeklyTrends (Date date, boolean excludeHashTags)

Returns the top 30 trending topics for each day in a given week.

Parameters
date Starting date of daily trends. If no date is specified, current date is used
excludeHashTags If all hashtags should be removed from the trends list.
Returns
  • a list of Trends objects
Throws
TwitterException

public void initialise ()

public void linkStream (int count, SourceCallback callback)

Asynchronously retrieves all statuses containing 'http:' and 'https:'. Like Firehorse, its is not a generally available stream

Only one Twitter stream can be consumed using the same credentials. As a consequence, only one twitter stream can be consumed per connector instance.

Parameters
count Indicates the number of previous statuses to consider for delivery before transitioning to live stream delivery.
callback The SourceCallback used to dispatch messages when a response is received

public String requestAuthorization (String callbackUrl)

Start the OAuth request authorization process.

Parameters
callbackUrl The url to be requested when the user authorizes this app
Returns
  • The user authorization URL.
Throws
TwitterException

public Status retweetStatus (long statusId)

Retweets a tweet. Returns the original tweet with retweet details embedded.
This method calls http://api.twitter.com/1/statuses/retweet

Parameters
statusId The ID of the status to retweet.
Returns
  • the retweeted Status
Throws
TwitterException when Twitter service or network is unavailable

public ResponseList<Place> reverseGeoCode (Double latitude, Double longitude, String ip)

Search for places (cities and neighborhoods) that can be attached to a statuses/update. Given a latitude and a longitude, return a list of all the valid places that can be used as a place_id when updating a status. Conceptually, a query can be made from the user's location, retrieve a list of places, have the user validate the location he or she is at, and then send the ID of this location up with a call to statuses/update.
There are multiple granularities of places that can be returned -- "neighborhoods", "cities", etc. At this time, only United States data is available through this method.

Parameters
latitude Latitude coordinate. Mandatory if ip is not specified
longitude Longitude coordinate.
ip The ip. Mandatory if coordinates are not specified
Returns
  • a ResponseList of Place
Throws
TwitterException

public void sampleStream (SourceCallback callback)

Asynchronously retrieves a random sample of all public statuses. The sample size and quality varies depending on the account permissions

The default access level provides a small proportion of the Firehose. The "Gardenhose" access level provides a proportion more suitable for data mining and research applications that desire a larger proportion to be statistically significant sample.

Only one Twitter stream can be consumed using the same credentials. As a consequence, only one twitter stream can be consumed per connector instance.

Parameters
callback The SourceCallback used to dispatch messages when a response is received

public QueryResult search (String query, String lang, String locale, Long maxId, Integer rpp, Integer page, String since, Long sinceId, String geocode, String radius, String unit, String until, String resultType)

Returns tweets that match a specified query.

This method calls http://search.twitter.com/search.json

Parameters
query The search query.
lang Restricts tweets to the given language, given by an ISO 639-1 code
locale Specify the language of the query you are sending (only ja is currently effective). This is intended for language-specific clients and the default should work in the majority of cases.
maxId If specified, returns tweets with status ids less than the given id
rpp Sets the number of tweets to return per page, up to a max of 100
page Sets the page number (starting at 1) to return, up to a max of roughly 1500 results
since If specified, returns tweets since the given date. Date should be formatted as YYYY-MM-DD
sinceId Returns tweets with status ids greater than the given id.
geocode A String containing the latitude and longitude separated by ','. Used to get the tweets by users located within a given radius of the given latitude/longitude, where the user's location is taken from their Twitter profile
radius The radius to be used in the geocode -ONLY VALID IF A GEOCODE IS GIVEN-
unit The unit of measurement of the given radius. Can be 'mi' or 'km'. Miles by default.
until If specified, returns tweets with generated before the given date. Date should be formatted as YYYY-MM-DD
resultType If specified, returns tweets included popular or real time or both in the responce. Both by default. Can be 'mixed', 'popular' or 'recent'.
Returns
  • the QueryResult
Throws
TwitterException

public ResponseList<Place> searchPlaces (Double latitude, Double longitude, String ip)

Search for places that can be attached to a statuses/update. Given a latitude and a longitude pair, or and IP address, this request will return a list of all the valid places that can be used as the place_id when updating a status.

Parameters
latitude Latitude coordinate. Mandatory if ip is not specified
longitude Longitude coordinate.
ip The ip. Mandatory if coordinates are not specified
Returns
  • a ResponseList of Place
Throws
TwitterException

public DirectMessage sendDirectMessageByScreenName (String screenName, String message)

Sends a new direct message to the specified user from the authenticating user. Requires both the user and text parameters below. The text will be trimmed if the length of the text is exceeding 140 characters.

Parameters
screenName The screen name of the user to whom send the direct message
message The text of your direct message
Returns
  • the DirectMessage
Throws
TwitterException

public DirectMessage sendDirectMessageByUserId (long userId, String message)

Sends a new direct message to the specified user from the authenticating user. Requires both the user and text parameters below. The text will be trimmed if the length of the text is exceeding 140 characters.

Parameters
userId The user ID of the user to whom send the direct message
message The text of your direct message
Returns
  • the DirectMessage
Throws
TwitterException

public void setAccessKey (String accessToken)

Parameters
accessToken

public void setAccessSecret (String accessTokenSecret)

Parameters
accessTokenSecret

public void setConsumerKey (String consumerKey)

Parameters
consumerKey

public void setConsumerSecret (String consumerSecret)

Parameters
consumerSecret

public void setMuleContext (MuleContext context)

Parameters
context

public void setOauthVerifier (String oauthVerifier)

Set the OAuth verifier after it has been retrieved via requestAuthorization. The resulting access tokens will be logged to the INFO level so the user can reuse them as part of the configuration in the future if desired.

Parameters
oauthVerifier The OAuth verifier code from Twitter.
Throws
TwitterException

public void setProxyHost (String proxyHost)

Parameters
proxyHost

public void setProxyPassword (String proxyPassword)

Parameters
proxyPassword

public void setProxyPort (int proxyPort)

Parameters
proxyPort

public void setProxyUsername (String proxyUsername)

Parameters
proxyUsername

public void setUseSSL (boolean useSSL)

Parameters
useSSL

public Status showStatus (long id)

Returns a single status, specified by the id parameter below. The status's author will be returned inline.
This method calls http://api.twitter.com/1/statuses/show

Parameters
id The numerical ID of the status you're trying to retrieve
Returns
  • a single Status
Throws
TwitterException when Twitter service or network is unavailable

public User showUser ()

Answers user information for the authenticated user

Returns
  • a User object
Throws
TwitterException

public void siteStream (List<Long> userIds, boolean withFollowings, SourceCallback callback_)

Asynchronously retrieves statutes for a set of supplied user's ids. Site Streams are a beta service, so refer always to latest twitter documentation about them.

Only one Twitter stream can be consumed using the same credentials. As a consequence, only one twitter stream can be consumed per connector instance.

Parameters
userIds Ids of users to include in the stream
withFollowings WithFollowings whether to receive status updates from people following
callback_ The SourceCallback used to dispatch messages when a response is received

public Status updateStatus (String status, long inReplyTo, Double latitude, Double longitude)

Updates the authenticating user's status. A status update with text identical to the authenticating user's text identical to the authenticating user's current status will be ignored to prevent duplicates.
This method calls http://api.twitter.com/1/statuses/update

Parameters
status The text of your status update
inReplyTo The ID of an existing status that the update is in reply to.
latitude The latitude of the location this tweet refers to. This parameter will be ignored unless it is inside the range -90.0 to +90.0 (North is positive) inclusive.
longitude He longitude of the location this tweet refers to. The valid ranges for longitude is -180.0 to +180.0 (East is positive) inclusive. This parameter will be ignored if outside that range or if there not a corresponding lat parameter.
Returns
  • the latest Status
Throws
TwitterException when Twitter service or network is unavailable

public void userStream (List<String> keywords, SourceCallback callback_)

Retrieves the following user updates notifications:
- New Statuses
- Block/Unblock events
- Follow events
- User profile updates
- Retweets
- List creation/deletion
- List member addition/remotion
- List subscription/unsubscription
- List updates
- Profile updates

Such notifications are represented as org.mule.twitter.UserEvent objects

Only one Twitter stream can be consumed using the same credentials. As a consequence, only one twitter stream can be consumed per connector instance.

Parameters
keywords The keywords to track for new statuses
callback_ The SourceCallback used to dispatch messages when a response is received

Protected Methods

protected Paging getPaging (int page, int count, long sinceId)

Parameters
page
count
sinceId