我正在尝试使用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();
答案 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