Twitter4J访问令牌已经可用

时间:2012-10-20 15:42:53

标签: java twitter oauth twitter4j

我在使用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以验证新用户?

谢谢和问候,

马丁

2 个答案:

答案 0 :(得分:9)

对不起。

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

删除它,现在有效。

答案 1 :(得分:4)

您需要创建一个新的twitter实例,并在请求新的访问令牌之前将其null为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();