在android中从twitter获取用户主页提要

时间:2013-04-22 04:16:10

标签: android twitter twitter-feed

我想从twitter获取用户主页。

我想知道我们可以通过其获取用户主页Feed的网址查询。目前使用OAuth lib从twitter授权。完成了。

是否有任何查询网址,例如搜索推文twitter search feed url query

我们通过它获得家庭饲料和用户状态。

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

1 个答案:

答案 0 :(得分: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); statusesList<Status>的实例,声明为全局变量:

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

2:twitPrefsSharePreferences的一个实例,用于存储 OAuth令牌 OAuth密钥。您需要使用自己的检索数据的方法替换它。

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) {

}