使用TwitterApiClient类从Android应用程序进行REST API调用

Y.S*_*Y.S 1 java twitter android tweets twitter-fabric

我在我的Android应用程序中使用Twitter的Fabric SDK.我必须获得Twitter用户的推文和状态消息.我找不到任何例子,文档也不是很清楚,所以我发布了一个新问题.有人可以提供如何使用TwitterApiClient该类的示例吗?

Cip*_*ani 5

Twitter Kit能够进行API调用.官方文档在这里:https://dev.twitter.com/twitter-kit/android/api

一切都始于状态服务:

StatusService service = Twitter.getApiClient().getStatusesService()
Run Code Online (Sandbox Code Playgroud)

Statuses Service提供了一些方法(这些方法直接映射到REST API端点,包括参数.

service.homeTimeline();
service.lookup();
service.mentionsTimeline();
service.show();
Run Code Online (Sandbox Code Playgroud)

执行请求的机制类似于所有服务,这是从Cannonball示例应用程序代码中搜索的示例:

final SearchService service = Twitter.getApiClient().getSearchService();

service.tweets(SEARCH_QUERY, null, null, null, SEARCH_RESULT_TYPE, SEARCH_COUNT, null, null,
            maxId, true, new Callback<Search>() {
                @Override
                public void success(Result<Search> searchResult) {
                    Crashlytics.setLong(App.CRASHLYTICS_KEY_SEARCH_COUNT,
                            searchResult.data.searchMetadata.count);
                    setProgressBarIndeterminateVisibility(false);
                    final List<Tweet> tweets = searchResult.data.tweets;
                    adapter.getTweets().addAll(tweets);
                    adapter.notifyDataSetChanged();
                    if (tweets.size() > 0) {
                        maxId = tweets.get(tweets.size() - 1).id - 1;
                    } else {
                        endOfSearchResults = true;
                    }
                    flagLoading = false;
                }

                @Override
                public void failure(TwitterException error) {
                    Crashlytics.logException(error);

                    setProgressBarIndeterminateVisibility(false);
                    Toast.makeText(PoemPopularActivity.this,
                            getResources().getString(R.string.toast_retrieve_tweets_error),
                            Toast.LENGTH_SHORT).show();

                    flagLoading = false;
                }
            }
);
Run Code Online (Sandbox Code Playgroud)