我使用的是twitter4j-core-2.1.2.jar。
以下是我在回调url命中后执行的代码。
代码
String token = (String) session.getAttribute("token");
String tokenSecret = (String)session.getAttribute("tokenSecret");
AccessToken accessToken = new AccessToken(token, tokenSecret);
Twitter twitter = new
TwitterFactory().getOAuthAuthorizedInstance(CONSUMER_KEY,CONSUMER_SECRET,accessToken);
// getting exception on this line.
User user = twitter.verifyCredentials();
Follwowing是例外
java.lang.IncompatibleClassChangeError: Found interface twitter4j.User, but class was expected
at com.thefollowfriday.servlet.HomeServlet.doGet(HomeServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:693)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:806)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
Reason: TwitterException{statusCode=401, retryAfter=0,
rateLimitStatus=null} at
twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:
301) at
twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:
68) at
twitter4j.internal.http.HttpClientWrapper.get(HttpClientWrapper.java:
90) at twitter4j.Twitter.verifyCredentials(Twitter.java:1134) at
com.thefollowfriday.servlet.HomeServlet.doGet(HomeServlet.java:68) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:693) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:806) at
请帮忙。我被困在上面了。
答案 0 :(得分:0)
状态代码401通常表示Twitter服务器上的凭据存在问题,在这种情况下服务器尝试使用提供的凭据验证用户。你确定你传递的所有值都是有效值(token或tokenSecret可能不是null)?
答案 1 :(得分:0)
我刚遇到这个问题。问题是我在WEB-INF / lib文件夹中有两个不同的Twitter4J库jar。我删除了一个,重新启动,一切正常。