2015-01-13 94 views
0

我一直試圖通過在http://www.dreamincode.net/forums/blog/114/entry-4459-demo-of-twitter-application-only-oauth-authentication-using-java博客中解釋的一些Java代碼來獲取我的時間線消息,並使用Java編寫了一些代碼。如何通過java中的twitter api獲取用戶的Twitter賬戶時間表

我正在使用應用程序驗證並使用消費者密鑰和使用者密鑰。這裏是我的代碼的一部分,我要求不記名令牌:

bearerToken = requestBearerToken(「https://api.twitter.com/1.1/statuses/besra_u_timeline.json」);

這是正確的方法嗎?我問,因爲在requestBearerToken方法

private static String requestBearerToken(String endPointUrl) throws IOException { 

      HttpsURLConnection connection = null;               

      URL url = new URL(endPointUrl); 

      connection = (HttpsURLConnection) url.openConnection(); 
      try { 
       connection.getInputStream(); 

      } catch(IOException e){ 
       System.out.println("IOException"); 
      } 

我不斷得到一個IOException,這意味着我沒有從連接對象獲取輸入流。請幫助我獲取推文。

回答

0

遐我有我的方式使用twitter4j api.Consumer關鍵,消費者祕訣去做,訪問令牌和訪問祕密u能得到一次ü烏爾登記在dev.twitter.com/apps應用

import twitter4j.ResponseList; 
import twitter4j.Status; 
import twitter4j.Twitter; 
import twitter4j.Status; 
import twitter4j.TwitterException; 
import twitter4j.TwitterFactory; 
import twitter4j.conf.ConfigurationBuilder; 

public class SimpleCrawler { 

    static ResponseList<Status> statuses;      
    public static void main(String[] args) throws TwitterException {    
     ConfigurationBuilder cb=new ConfigurationBuilder();        
     cb.setDebugEnabled(true) 
       .setOAuthConsumerKey("your consumer key") 
       .setOAuthConsumerSecret("your con secret") 
       .setOAuthAccessToken("your access token") 
       .setOAuthAccessTokenSecret("access token secret"); 
     TwitterFactory tf=new TwitterFactory(cb.build());   
     Twitter tw = tf.getInstance();     
     try { 
      statuses=tw.getHomeTimeline(); 
      System.out.println("Connected to twitter"); 
     } catch (TwitterException e) { 
      System.out.println("Cannot connect to Twitter"); 
      System.exit(0); 
     }    
     System.out.println("Reading TimeLine...");      
     for(Status st1:statuses){             
      String data[]={st1.getUser().getName(),String.valueOf(st1.getCreatedAt()),twtmsg};     
      System.out.println(data); 
     }            
    } 

} 

通過Twitter的API也可能,但不知道。這種方法的一個問題是,它只能在一次提取20條推文,任何幫助將不勝感激。建議最受歡迎的評論。

0

您需要使用分頁:

Paging paging = new Paging(); 
paging.setPage(1); 
ResponseList<Status> statuses = twitter.getHomeTimeline(paging); 
System.out.println(statuses.size()); 
paging.setPage(2); 
statuses.addAll(twitter.getHomeTimeline(paging)); 
System.out.println(statuses.size()); 

上述簡化代碼給你兩個網頁值得statuses

+0

感謝@Tony Kennah的。 – xpioneer

相關問題