首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >user_mention (@user)在安卓系统中从推特上获取推特

user_mention (@user)在安卓系统中从推特上获取推特
EN

Stack Overflow用户
提问于 2015-07-24 07:46:16
回答 2查看 728关注 0票数 2

我正在开发一个与twitter集成的Android应用程序。我想从推特上获取user_mention的推文。我在twitter dev http://docs.fabric.io/android/twitter/show-timelines.html上看到了这个文档。

这是代码的一部分:-

代码语言:javascript
复制
 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());

        UserTimeline userTimeline = new UserTimeline.Builder().screenName("fabric").build();

使用这种方法,我将根据screen name获得时间线。但我希望所有提到特定用户(前@user)的推文,而不是时间线。我已经在fabric上试过了,但是我也可以尝试twitter4j。因此,如果您知道如何做到这一点(无论是使用fabric还是twitter 4j),这将是有帮助的。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-07-31 06:20:48

对于您的需求,Twitter是最好的解决方案。如果使用Twitter,您可以使用SearchService。您可以从Fabric的twitter客户端获得SearchService。如下所示:

代码语言:javascript
复制
    Fabric.with(this, new Twitter(authConfig));
   TwitterSession currentSession = Twitter.getSessionManager().getActiveSession();
   TwitterApiClient twitterApiClient = new TwitterApiClient(currentSession); 
   SearchService searchService       = twitterApiClient.getSearchService();
//Other services in Fabric Twitter
   AccountService accountService     =twitterApiClient.getAccountService();
   StatusesService statusesService   = twitterApiClient.getStatusesService();
   FavoriteService favoriteService   = twitterApiClient.getFavoriteService();

以下是搜索服务的请求模板:

代码语言:javascript
复制
public interface SearchService {
@GET("/1.1/search/tweets.json")
void tweets(@Query("q") String var1, @EncodedQuery("geocode") Geocode var2, @Query("lang") String var3, @Query("locale") String var4, @Query("result_type") String var5, @Query("count") Integer var6, @Query("until") String var7, @Query("since_id") Long var8, @Query("max_id") Long var9, @Query("include_entities") Boolean var10, Callback<Search> var11);
}

在这里,您必须输入您的查询而不是"q"。输入所需的查询,您将得到结果。您可以在Twitter的开发人员控制台Twitter开发人员控制台中尝试查询。

使用它的示例代码:

代码语言:javascript
复制
searchService.tweets("@ladygaga", null, null, null, SEARCH_RESULT_TYPE, SEARCH_COUNT, null, null,
        maxId, true, new Callback<Search>() {
            @Override
            public void success(Result<Search> searchResult) {
                final List<Tweet> tweets = searchResult.data.tweets;
                // Use tweets as you like
            }

            @Override
            public void failure(TwitterException error) {

            }
        }

);

例如,为了搜索所有提到、ladygaga、的tweet,您将查询为https://twitter.com/search?q=%40ladygaga&src=typd。这里Q是"%40ladygaga".你也可以用你的推特账号试试。检查地址栏中的网址。它给出了应该查询哪些内容的提示。

有关如何构建查询的更多信息,您可以查看如何构建Twitter搜索查询希望,这很有帮助。

票数 1
EN

Stack Overflow用户

发布于 2015-09-16 04:01:45

你可以试试!我的应用程序使用得很好!

代码语言:javascript
复制
public class...
UserTimeline userTimeline;
String username;
TwitterSession session;
TweetTimelineListAdapter adapter;
..... oncreate()....
TwitterAuthConfig authConfig = new TwitterAuthConfig("Xcp2iipj28BMVda6OSxVAwwLz", "grZ1IJYIHUPQsrf8F8fsbA06O55bfRGENW8mPbDTspoVKcV1xS");
            Fabric.with(getActivity(), new TwitterCore(authConfig), new TweetUi());
            if (android.os.Build.VERSION.SDK_INT > 9) {
                StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
                StrictMode.setThreadPolicy(policy);
            }
            session = Twitter.getSessionManager().getActiveSession();
            username = session.getUserName();
            userTimeline = new UserTimeline.Builder()
                    .screenName(username)
                    .build();
            adapter = new TweetTimelineListAdapter.Builder(getActivity())
                    .setTimeline(userTimeline)
                    .build();
                    setListAdapter(adapter);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31604903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档