Twitter4J访问令牌已经可用

Mar*_*ies 3 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)
[...]
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢和问候,

马丁

Mar*_*ies 9

抱歉.

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

删除它,现在工作.


小智 5

您需要创建一个新的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();
Run Code Online (Sandbox Code Playgroud)