我正在使用 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。
我确定设备上的时间戳是正确的,并且请求令牌的异步任务也不起作用。
任何帮助,将不胜感激