2014-01-14 34 views
0

我用twitter4j +駱駝插件讀取的Twitter +駝色使用HTTPS/SSL

<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,這裏沒有給出 。

謝謝。

回答

0

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(); 
0

你可以傳遞參數給JVM打開SSL: -Dtwitter4j.http.useSSL =真

至少這解決了我的問題。