开发者

twitter4j.TwitterException: 401:Authentication credentials were missing or incorrect

I am developing web based application in Java [GWT]

I am facing problem with TwitterException.

I used valid credential.

Twitter twitter = new Twitter(myTwitterId, myTwiterPwd);

when I call twitter.getFollowers() method

I got following Error Message

twitter4j.TwitterException: 401:Authentication credentials were missing or incorrect.

<?xml version="1.0" encoding="UTF-8"?>
<errors>
    <error code="53">Basic authentication is not supported</error>
</errors>

    at twitter4j.http.HttpClient.httpRequest(HttpClient.java:469)
    at twitter4j.http.HttpClient.get(HttpClient.java:412)
    at twitter4j.Twitter.get(Twitter.java:276)
    at twitter4j.Twitter.get(Twitter.java:228)
    at twitter4j.Twitter.getFollowersStatuses(Twitter.java:1363)
    at twitter4j.Twitter.getFollowers(Twitter.java:1350)
    at com.vaibhav.dealelephant.server.impl.TwitterServiceImpl.getTwitterFollowers(TwitterServiceImpl.java:49)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com开发者_如何学编程.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:562)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:188)
    at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:224)
    at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:619)

I want to display My followers Images into My Website, but it throws exception after calling this method twitter.getFollowers() method. SO unable to get My follwers Images :(

Please provide me Easy solution for the same

Hope for the best co-operation from your side

Thanks in advance !!!


Yes, your authentication is not working because Twitter made some recent changes regarding how it lets 3rd party code authenticate.

  • http://news.techworld.com/security/3237604/twitter-turns-on-oauth-api-authentication/
  • http://www.networkworld.com/news/2010/083110-twitter-api-has-new-third.html?hpg1=bn
  • http://www.wired.com/epicenter/2010/08/twitter-login-errors/
  • http://groups.google.com/group/twitter-api-announce/browse_thread/thread/f71eb68600996af8

In other words, Basic authentication has been turned off for the API.

  • https://apiwiki.twitter.com/Authentication

As Allain mentions, oAuth is the way to go.


The code you posted is different than what I've seen in the past for connecting. I think (though I'm not sure) that oAuth is the preferred way of authenticating now.

Here's a blog that details using oAuth to connect.


I was having that trouble, finally the solution was to put a valid Callback url in my twitter API at (https://dev.twitter.com/‎), I used google+ url, saved changes (it could take a minutes before the changes are made, refresh the page to be sure) and it worked.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜