Android:Twitter4J异常(收到的身份验证挑战是空的)

nerror 发布于 2019-03-09 android 最后更新 2019-03-09 14:36 0 浏览

我正在使用Twitter4j库在Android上为我的应用程序授权用户使用OAuth。但是,当我尝试获取OAuth请求令牌时,我正面临此异常。我知道有很多这方面的主题(像这样的Twitter4J + Android: Authentication Challenge is Null Exception),但没有一个解决了我的问题。以下是解释我的问题的简单代码示例;

@Override
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  prefs = getSharedPreferences("twitterPrefs", MODE_PRIVATE);
  twitter = new TwitterFactory().getInstance();
  twitter.setOAuthConsumer(CONSUMER_KEY, CONSUMER_SECRET);
  LoginButton = (Button) findViewById(R.id.login_button);
}
我设置了消费者密钥和密钥,并且当用户点击登录按钮时,我得到了良好的twitter对象;
private void loginNewUser() {
    try {
        currentRequestToken = twitter.getOAuthRequestToken(CALLBACK_URL);
setUpViews();
        WebView twitterSite = new WebView(this);
        twitterSite.loadUrl(currentRequestToken.getAuthenticationURL());
setContentView(R.layout.authorization_view);
} catch (TwitterException e) {
        Toast.makeText(this, "Twitter Login error, try again later", Toast.LENGTH_SHORT).show();
    }
}
我得到异常,因为getOAuthRequestToken(CALLBACK_URL)等于空;收到的身份验证质询为空。 我确定设备上的时间戳是真实的,并且请求令牌的异步任务也不起作用。 任何帮助,将不胜感激
已邀请:

jdolor

赞同来自:

我也偶然发现了这个问题。解决方案很简单:只需将回调网址添加到twitter appenter image description here即可