Twitter + Camel Using HTTPS / SSL



我使用twitter4j+camel插件来读取推文

<route id="twitter-timeline-incoming">
<from
uri="twitter://timeline/user?type=polling&amp;delay=180&amp;consumerKey=xxxx&amp;consumerSecret=xxxx&amp;accessToken=xxxx8&amp;accessTokenSecret=xxxxg&amp;user=user_account" />
<process ref="setTwitterTimestampProcessor" />
<filter>
<method ref="twitterFeedFilter" />
<to uri="direct:twitterProcessFeed" />
</filter>
</route>

Twitter从今天起强制要求使用SSL,https://dev.twitter.com/discussions/24239

我想知道如何为这些请求启用SSL,这里没有给出http://camel.apache.org/twitter.html.

谢谢。

2014年1月14日,Twitter更新了其API,要求所有端点都是https。Twitter4J中默认的API端点是http,而不是https。你现在可以手动更改它们,直到它们更新Twitter4J:中的默认值

ConfigurationBuilder confBuilder=new ConfigurationBuilder();
confBuilder.setOAuthConsumerKey(consumerKey);
confBuilder.setOAuthConsumerSecret(consumerSecret);
confBuilder.setHttpRetryCount(3);
confBuilder.setHttpRetryIntervalSeconds(30);
confBuilder.setRestBaseURL("https://api.twitter.com/1.1/");
confBuilder.setStreamBaseURL("https://stream.twitter.com/1.1/");
confBuilder.setSiteStreamBaseURL("https://sitestream.twitter.com/1.1/");
confBuilder.setUserStreamBaseURL("https://userstream.twitter.com/1.1/");
confBuilder.setOAuthRequestTokenURL("https://api.twitter.com/oauth/request_token");
confBuilder.setOAuthAccessTokenURL("https://api.twitter.com/oauth/access_token");
confBuilder.setOAuthAuthorizationURL("https://api.twitter.com/oauth/authorize");
confBuilder.setOAuthAuthenticationURL("https://api.twitter.com/oauth/authenticate");
Configuration conf=confBuilder.build();
Twitter twitter=new TwitterFactory(conf).getInstance();

您可以将参数传递给JVM以打开SSL:-Dtwitter4j.http.useSSL=真正的

至少这解决了我的问题。

设置JVM对我来说不是一个选项,

门票已在骆驼+推特插件中筹集

https://issues.apache.org/jira/browse/CAMEL-7134并且似乎在修复版本2.11.4、2.12.3、2.13.0 中提供了补丁

最新更新