我正在尝试使用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
的查询,或者还有其他方法可以做到这一点。
答案 0 :(得分:1)
这有点粗糙,但是如何获取用户推文
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对象是否包含您想要从entities属性的主题标签。 我需要稍微玩这个来给你提供你需要的确切答案。我查看了API,遗憾的是,我找不到用于获取用户时间线并随后按标签过滤的参数。所以我认为你需要迭代。这里是对StatusesService类https://twittercommunity.com/t/android-usertimeline-question/30263/2
的userTimeline()方法的一个很好的引用同样,我今天晚些时候有机会更新这个答案