Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
xml
xml
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-twitter</artifactId>
    <version>${camel-version}</version>
</dependency>

URI format

Code Block
languagetext
twitter://endpoint[?options]

...

The twitter component can be configured with the Twitter account settings which is mandatory to configure before using.
You can also configure these options directly in the endpoint.

Wiki Markup
{div:class=confluenceTableSmall}
|| Option || Description ||
| consumerKey | The consumer key |
| consumerSecret | The consumer secret |
| accessToken | The access token |
| accessTokenSecret | The access token secret |
{div}

Consumer Endpoints:

Rather than the endpoints returning a List through one single route exchange, camel-twitter creates one route exchange per returned object. As an example, if "timeline/home" results in five statuses, the route will be executed five times (one for each Status).

Wiki Markup
{div:class=confluenceTableSmall}
|| Endpoint || Context || Body Type || Notice ||
| directmessage | direct, polling | twitter4j.DirectMessage | |
| search | direct, polling | twitter4j.Tweet | |
| streaming/filter | event, polling | twitter4j.Status | |
| streaming/sample | event, polling | twitter4j.Status | |
| timeline/home | direct, polling | twitter4j.Status | |
| timeline/mentions | direct, polling | twitter4j.Status | |
| timeline/public | direct, polling | twitter4j.Status | @deprecated. Use timeline/home or direct/home instead. Removed from *Camel 2.11* onwards. |
| timeline/retweetsofme | direct, polling | twitter4j.Status | |
| timeline/user | direct, polling | twitter4j.Status | |
| trends/daily | *Camel 2.10.1:* direct, polling | twitter4j.Status | @deprecated. Removed from Camel 2.11 onwards. |
| trends/weekly | *Camel 2.10.1:* direct, polling | twitter4j.Status | @deprecated. Removed from Camel 2.11 onwards. |
{div}

Producer Endpoints:

Wiki Markup
{div:class=confluenceTableSmall}
|| Endpoint || Body Type ||
| directmessage | String |
| search | List<twitter4j.Tweet> |
| timeline/user | String |
{div}

URI Options

Wiki Markup
{div:class=confluenceTableSmall}
|| Name || Default Value || Description ||
| type | {{direct}} | direct, event, or polling |
| delay | {{60}} | in seconds |
| consumerKey | {{null}} | Consumer Key. Can also be configured on the {{TwitterComponent}} level instead. |
| consumerSecret | {{null}} | Consumer Secret. Can also be configured on the {{TwitterComponent}} level instead. |
| accessToken | {{null}} | Access Token. Can also be configured on the {{TwitterComponent}} level instead. |
| accessTokenSecret | {{null}} | Access Token Secret. Can also be configured on the {{TwitterComponent}} level instead. |
| user | {{null}} | Username, used for user timeline consumption, direct message production, etc. |
| locations| {{null}} | 'lat,lon;lat,lon;...' Bounding boxes, created by pairs of lat/lons.  Can be used for streaming/filter |
| keywords| {{null}} | 'foo1,foo2,foo3...' Can be used for search and streaming/filter. See [Advanced search|https://support.twitter.com/articles/71577-using-advanced-search] for keywords syntax for searching with for example OR. |
| userIds| {{null}} | 'username,username...' Can be used for streaming/filter |
| filterOld | {{true}} | Filter out old tweets, that has previously been polled. This state is stored in memory only, and based on last tweet id. *Since Camel 2.11.0* The search producer supports this option |
| sinceId | {{1}} | *Camel 2.11.0:* The last tweet id which will be used for pulling the tweets. It is useful when the camel route is restarted after a long running.|
| lang | {{null}} | *Camel 2.11.0:* The lang string [ISO_639-1|http://en.wikipedia.org/wiki/ISO_639-1] which will be used for searching |
| count | {{null}} | *Camel 2.11.0:* Limiting number of results per page. |
| numberOfPages | {{1}} | *Camel 2.11.0:* The number of pages result which you want camel-twitter to consume. |
| httpProxyHost | {{null}} | *Camel 2.12.3:* The http proxy host which can be used for the camel-twitter. |
| httpProxyPort | {{null}} | *Camel 2.12.3:* The http proxy port which can be used for the camel-twitter. |
| httpProxyUser | {{null}} | *Camel 2.12.3:* The http proxy user which can be used for the camel-twitter. |
| httpProxyPassword | {{null}} | *Camel 2.12.3:* The http proxy password which can be used for the camel-twitter. |
{div}| useSSL | {{true}} | *Camel 2.12.3:* Using the SSL to connect the api.twitter.com if the option is true. |

Message header

Wiki Markup
{div:class=confluenceTableSmall}
|| Name || Description ||
|{{CamelTwitterKeywords}}|This header is used by the search producer to change the search key words dynamically.|
|{{CamelTwitterSearchLanguage}}| *Camel 2.11.0:* This header can override the option of {{lang}} which set the search language for the search endpoint dynamically|
|{{CamelTwitterCount}}|*Camel 2.11.0* This header can override the option of {{count}} which sets the max twitters that will be returned.|
|{{CamelTwitterNumberOfPages}}|*Camel 2.11.0* This header can converrid the option of {{numberOfPages}} which sets how many pages we want to twitter returns.|
{div}

Message body

All message bodies utilize objects provided by the Twitter4J API.

...