我正在尝试使用Android中的Fabric从用户的时间轴(ex- @kkajnabi#suman)获得带有特定主题标签的推文。

我可以使用以下代码从%23suman(#suman)获取推文。但是我想从%40kkajnabi%23suman(@ kkajnabi#suman)获得推文。

public class TimelineActivity extends ListActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.timeline);

        TwitterAuthConfig authConfig =  new TwitterAuthConfig("xxxxxxbbbbwdqddq", "eieuhquifhioqhfiohqoifhoi");
        Fabric.with((this), new TwitterCore(authConfig), new TweetUi());

        final SearchTimeline searchTimeline = new SearchTimeline.Builder()
                .query("%40kkajnabi%23suman")
                .build();


我认为这种方法是错误的。任何人都可以帮助我编写%40kkajnabi%23suman的查询,或者有其他方法可以做到这一点。

最佳答案

有点粗糙,但这是如何获得用户推文的方法

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);
                }
            });


然后,我将做一个快速的条件来确定Tweet对象是否包含您要从实体属性获得的主题标签。
我需要对此稍作介绍,以便为您提供所需的确切答案。我看了看API,很遗憾,没有找到我的参数来获取用户的时间轴并随后按标记进行过滤。因此,我认为您需要进行迭代。这是对StatusesService类https://twittercommunity.com/t/android-usertimeline-question/30263/2的userTimeline()方法的良好参考。

同样,今天晚些时候我将有机会更新这个答案

07-24 09:49
查看更多