5

我在使用 Twitter4J 时收到错误消息:

java.lang.IllegalStateException: Access token already available.
twitter4j.auth.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:112)
twitter4j.auth.OAuthAuthorization.getOAuthRequestToken(OAuthAuthorization.java:104)
twitter4j.TwitterBaseImpl.getOAuthRequestToken(TwitterBaseImpl.java:276)
twitter4j.TwitterBaseImpl.getOAuthRequestToken(TwitterBaseImpl.java:269)
[...]

调用该方法时会引发此异常Twitter.getOAuthRequestToken()。我想获取授权 URL 来验证下一个用户。

我怎么可能解决这个问题?我只将 OAuthConsumerKey、OAuthConsumerSecret、OAuthAccessToken 和 OAuthAccessTokenSecret 放到 Twitter4J 属性中。但是如何接收授权 URL 以验证新用户?

谢谢和问候,

马丁

4

2 回答 2

10

对不起。

我正在设置由配置生成器硬编码的访问令牌。

删除它,现在可以使用。

于 2012-11-07T12:09:47.750 回答
8

在请求新的访问令牌之前,您需要创建一个新的 twitter 实例并将其 accessToken 和 accessTokenSecret 字段设为空。

ConfigurationBuilder cb = new ConfigurationBuilder();
    cb.setDebugEnabled(true)
            .setOAuthConsumerKey(TWITTER_CONSUMER_KEY)
            .setOAuthConsumerSecret(TWITTER_CONSUMER_SECRET)
            .setOAuthAccessToken(null)
            .setOAuthAccessTokenSecret(null);
    TwitterFactory tf = new TwitterFactory(cb.build());
    Twitter twitter = tf.getInstance();
于 2014-09-08T09:27:41.117 回答