3

我正在使用 Twitter4j 库为我在 Android 上的应用程序授权用户使用 OAuth。但是当我尝试获取 OAuth 请求令牌时,我遇到了这个异常。我知道有很多关于这个的话题(Twitter4J + Android: Authentication Challenge is Null Exception like this)但没有一个能解决我的问题。这是解释我的问题的简单代码示例;

@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;收到的身份验证质询为 null

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

任何帮助,将不胜感激

4

1 回答 1

0

我也偶然发现了这个问题。解决方案很简单:只需将回调 url 添加到 twitter 应用程序在此处输入图像描述

于 2013-04-24T08:04:43.727 回答