请帮助=找到界面twitter4j.User,但是GAE / J上的课程

时间:2010-09-05 18:28:53

标签: google-app-engine twitter http-status-code-401 twitter4j

我使用的是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

请帮忙。我被困在上面了。

2 个答案:

答案 0 :(得分:0)

状态代码401通常表示Twitter服务器上的凭据存在问题,在这种情况下服务器尝试使用提供的凭据验证用户。你确定你传递的所有值都是有效值(token或tokenSecret可能不是null)?

答案 1 :(得分:0)

我刚遇到这个问题。问题是我在WEB-INF / lib文件夹中有两个不同的Twitter4J库jar。我删除了一个,重新启动,一切正常。