0

我正在尝试使用 Fabric 创建推文的回收视图。但是每次我尝试在使用 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();
4

2 回答 2

1

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

看看这里的文档:https ://dev.twitter.com/twitter-kit/android/twitter-login

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

于 2015-02-03T07:49:01.067 回答
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

于 2015-01-26T00:16:27.480 回答