我在使用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来验证新用户呢?
感谢和问候,
马丁
发布于 2012-11-07 20:09:48
抱歉的。
我正在设置由配置生成器硬编码的访问令牌。
移除了它,现在可以工作了。
发布于 2014-09-08 17:27:41
在请求新的访问令牌之前,您需要创建一个新的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();https://stackoverflow.com/questions/12990031
复制相似问题