我正在尝试使用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()方法的良好参考。
同样,今天晚些时候我将有机会更新这个答案