使用Twitter4J库请求OAuthRequest令牌时“需要SSL”异常

时间:2014-03-30 09:42:24

标签: android twitter-oauth twitter4j

我正在尝试提供这个示例应用程序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);时我得到此异常。

我已将消费者密钥,消费者密钥和回调网址配置为我的应用程序。

1 个答案:

答案 0 :(得分:4)

解决了这个问题 如果您在ConfigurationBuilder中使用的是twitter4j版本3或更低版本,则必须设置

configurationBuilder.setUseSSL(true);

因为Twitter已将ssl作为强制要求发出API请求

对于twitter4j第4版,默认情况下使用ssl。