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

时间:2013-04-11 16:14:07

标签: java android oauth twitter-oauth twitter4j

我正在使用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)等于null; 收到的身份验证质询为空

我确信设备上的时间戳是正确的,并且请求令牌的异步任务也不起作用。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

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

即可