我正在尝试提供这个示例应用程序here,我得到了#34; SSL是必需的"这段特殊代码中的异常
private void askOAuth() {
ConfigurationBuilder configurationBuilder = new ConfigurationBuilder();
configurationBuilder.setOAuthConsumerKey(Const.CONSUMER_KEY);
configurationBuilder.setOAuthConsumerSecret(Const.CONSUMER_SECRET);
Configuration configuration = configurationBuilder.build();
twitter = new TwitterFactory(configuration).getInstance();
try {
requestToken = twitter.getOAuthRequestToken(Const.CALLBACK_URL);
Toast.makeText(this, "Please authorize this app!", Toast.LENGTH_LONG).show();
this.startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(requestToken.getAuthenticationURL())));
} catch (TwitterException e) {
Log.e(TAG, e.getMessage());
}
}
执行twitter.getOAuthRequestToken(Const.CALLBACK_URL);
时我得到此异常。
我已将消费者密钥,消费者密钥和回调网址配置为我的应用程序。
答案 0 :(得分:4)
解决了这个问题 如果您在ConfigurationBuilder中使用的是twitter4j版本3或更低版本,则必须设置
configurationBuilder.setUseSSL(true);
因为Twitter已将ssl作为强制要求发出API请求
对于twitter4j第4版,默认情况下使用ssl。