簡體   English   中英

使用Fabric Android獲取用戶時間線中的推文列表

[英]Get list of tweets in user time line using Fabric Android

我使用以下代碼:

UserTimeline userTimeline = new UserTimeline.Builder().screenName("ZainAlabdin878").build();
final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter(MainActivity.this, userTimeline);
System.out.println(adapter.getCount()+"");

雖然我有推文,但我得到輸出0。

難道我做錯了什么? 我想要實現的是獲取某個用戶的推文列表。 我正在使用android studio和插件。

*我的目標不是顯示列表而是獲取列表

非常感謝。

final TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(context, new Twitter(authConfig), new TweetUi());

    TwitterCore.getInstance().logInGuest(new Callback<AppSession>() {
        @Override
        public void success(Result<AppSession> result) {
            AppSession session = result.data;
            TwitterApiClient twitterApiClient = TwitterCore.getInstance().getApiClient(session);
            twitterApiClient.getStatusesService().userTimeline(tweetId, screenName, tweetCount, null, null, false, false, false, true, new Callback<List<Tweet>>() {
                @Override
                public void success(Result<List<Tweet>> listResult) {
                    for (Tweet tweet : listResult.data) {
                     // here you will get list
                    }
                }

                @Override
                public void failure(TwitterException e) {
                    e.printStackTrace();
                }
            });
        }

        @Override
        public void failure(TwitterException e) {
            Log.e(TAG, "Load Tweet failure", e);
        }
    });

更多細節在這里

這是實際獲取Tweet對象所需的代碼:

ArrayList<Tweet> tweets = new ArrayList<>();
TwitterCore.getInstance().getApiClient(session).getStatusesService()
    .userTimeline(null,
            "screenname",
            10 //the number of tweets we want to fetch,
            null,
            null,
            null,
            null,
            null,
            null,
            new Callback<List<Tweet>>() {
                @Override
                public void success(Result<List<Tweet>> result) {
                    for (Tweet t : result.data) {
                        tweets.add(t);
                        android.util.Log.d("twittercommunity", "tweet is " + t.text);
                    }
                }

                @Override
                public void failure(TwitterException exception) {
                    android.util.Log.d("twittercommunity", "exception " + exception);
                }
            });

你需要在一個新線程(而不是UI線程)中運行它

編輯

*技術上可以不必在一個新的線程中運行,是因為它是異步的(有人請糾正我在這里,如果我錯了)。 我知道其他Twitter API調用是異步的,所以我假設這個也是,雖然我找不到Fabric源中實際調用的位置。*

以下是Fabric SDK中userTimeline()的完整參數列表

void userTimeline(@Query("user_id") Long var1, @Query("screen_name") String var2, @Query("count") Integer var3, @Query("since_id") Long var4, @Query("max_id") Long var5, @Query("trim_user") Boolean var6, @Query("exclude_replies") Boolean var7, @Query("contributor_details") Boolean var8, @Query("include_rts") Boolean var9, Callback<List<Tweet>> var10);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM