0

我想从 twitter 获取用户主页。

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

是否有任何查询 url 像搜索推文 twitter 搜索提要 url 查询

我们通过它获得主页和用户状态。

应该写什么查询来获取 twitter 主页?

4

1 回答 1

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:是我用来存储OAuth TokenOAuth Secret KeytwitPrefs的一个实例。您将需要用您自己的检索数据的方法替换它。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) {

}
于 2013-04-22T09:35:42.593 回答