使用Fabric并使用Twitter API Client获取“您是否使用Twitter进行了身份验证”

时间:2015-01-25 20:10:20

标签: android twitter twitter-fabric

我正在尝试使用Fabric创建tweets的回收视图。但每次我尝试使用Fabric进行身份验证后创建一个TwitterApiClient时,我得到的一个错误是“您是否通过Twitter进行了身份验证?”这是代码。

    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET);
    Fabric.with(this, new Twitter(authConfig));
    setContentView(R.layout.activity_main);
    ButterKnife.inject(this);

    TwitterApiClient twitterApiClient = Twitter.getApiClient();
    StatusesService statusesService = twitterApiClient.getStatusesService();
    statusesService.userTimeline(null, "rickygervais", null, null, null, null, null, null, null,
            new Callback<List<Tweet>>() {
                @Override
                public void success(Result<List<Tweet>> listResult) {
                    Log.i(TWITTER_USER_TIMELINE_REQUEST, "Successfully retrieved tweets");
                    feedAdapter.updateItems(listResult.data);
                }

                @Override
                public void failure(TwitterException e) {
                    Log.e(TWITTER_USER_TIMELINE_REQUEST, e.toString());
                }
            });
}

请告诉我,我是个白痴,错过了一些明显的东西。

更新

这是我收到错误消息的行

TwitterApiClient twitterApiClient = Twitter.getApiClient();

2 个答案:

答案 0 :(得分:1)

TwitterApiClient需要一个Session来进行Twitter API调用。

请查看此处的文档:https://dev.twitter.com/twitter-kit/android/twitter-login

另外,要在Android上使用访客身份验证,请务必更新到最新版本的SDK 1.3.0。

答案 1 :(得分:0)

您的statusesService行不正确。

你有

statusesService.userTimeline(null, "rickygervais", null, null, null, null, null, null, null,new Callback<List<Tweet>>() {

应该是

statusesService.userTimeline(session.getId(), null, null, null, null, null, null, null, null, new Callback<List<Tweet>>() {

https://dev.twitter.com/rest/reference/get/statuses/home_timeline