2013-04-22 59 views
0

我想从twitter获取用户主页饲料。从android中的twitter获取用户家庭饲料

我想知道我们可以获取用户主页提要的url查询。目前来自Twitter的使用OAuth lib的授权。完成 。

有没有像搜索鸣叫twitter search feed url query

,使我们回家饲料和用户状态的任何查询网址。

应该写什么查询来获取twitter home feed?

+0

是否使用了Twitter4j库? – 2013-04-22 04:19:32

+0

是的twitter4j,oauth – 2013-04-22 09:04:40

回答

1

那么,如果您使用Twitter成功通过验证,则无需查询URL即可获取登录用户的时间线。即使你可以,我也不知道它。

话虽这么说,我用这个来获取时间轴:

ConfigurationBuilder builder = new ConfigurationBuilder(); 

// GET THE CONSUMER KEY AND SECRET KEY FROM THE STRINGS XML 
String TWITTER_CONSUMER_KEY = getString(R.string.TWITTER_CONSUMER_KEY); 
String TWITTER_CONSUMER_SECRET = getString(R.string.TWITTER_CONSUMER_SECRET); 

// TWITTER ACCESS TOKEN 
String twit_access_token = twitPrefs.getString(PREF_KEY_OAUTH_TOKEN, ""); 

// TWITTER ACCESS TOKEN SECRET 
String twit_access_token_secret = twitPrefs.getString(PREF_KEY_OAUTH_SECRET, ""); 

builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 
builder.setOAuthAccessToken(twit_access_token); 
builder.setOAuthAccessTokenSecret(twit_access_token_secret); 

AccessToken accessToken = new AccessToken(twit_access_token, twit_access_token_secret); 
Twitter twitter = new TwitterFactory(builder.build()).getInstance(accessToken); 

Paging paging = new Paging(1, 20); 
statuses = twitter.getHomeTimeline(paging); 

// NOW LOOP THROUGH THE statuses AND FETCH INDIVIDUAL DETAILS 
for (int i = 0; i < statuses.size(); i++) { 
    String strTweetID = String.valueOf(statuses.get(i).getId()); 

    .... REST OF WHATEVER YOU NEED TO PULL OUT OF THE 
} 

有关本例中使用实例的一些信息:

1:线路:statuses = twitter.getHomeTimeline(paging);在这个例子中使用具有statuses作为List<Status>的一个实例声明为全局变量:

List<Status> statuses = new ArrayList<Status>(); 

2:twitPrefs是我用来存储OAuth令牌OAuth密钥SharePreferences的实例。您将需要用您自己的方法来取代该数据。

3:String TWITTER_CONSUMER_KEY = getString(R.string.TWITTER_CONSUMER_KEY);String TWITTER_CONSUMER_SECRET = getString(R.string.TWITTER_CONSUMER_SECRET);strings.xml被拉出。类似于上面的第二点,使用您目前使用的任何方法来检索所述细节。

替代解决方案:

如果您希望得到JSON响应,这样更改上面的代码:

builder.setOAuthConsumerKey(TWITTER_CONSUMER_KEY); 
builder.setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET); 
builder.setOAuthAccessToken(twit_access_token); 
builder.setOAuthAccessTokenSecret(twit_access_token_secret); 
builder.setJSONStoreEnabled(true); 

try { 
    Paging paging = new Paging(offSet, 5); 
    statuses = twitter.getHomeTimeline(paging); 

    try { 
     String strInitialDataSet = DataObjectFactory.getRawJSON(statuses); 
     JSONArray JATweets = new JSONArray(strInitialDataSet); 

     for (int i = 0; i < JATweets.length(); i++) { 
      JSONObject JOTweets = JATweets.getJSONObject(i); 

      String tweetID = JOTweets.getString("id"); 

      .... OTHER DETAILS YOU NEED. 
     } 

    } catch (Exception e) { 

    } 

} catch (Exception e) { 

}