`
tudusi
  • 浏览: 1048658 次
文章分类
社区版块
存档分类
最新评论

Android: 用twitter4j做twitter分享的时候遇到的问题

 
阅读更多


03-07 12:48:06.605: W/System.err(1582): 403:The request is understood, but it has been refused. An accompanying error message will explain why.

03-07 12:48:06.605: W/System.err(1582): {"error":"Status is a duplicate.","request":"\/1\/statuses\/update.json"}

03-07 12:48:06.605: W/System.err(1582): TwitterException{exceptionCode=[15bb6564-00e4d61f], statusCode=403, retryAfter=0, rateLimitStatus=null, version=2.1.6}

03-07 12:48:06.605: W/System.err(1582): at twitter4j.internal.http.HttpClientImpl.request(HttpClientImpl.java:308)

03-07 12:48:06.605: W/System.err(1582): at twitter4j.internal.http.HttpClientWrapper.request(HttpClientWrapper.java:72)

03-07 12:48:06.605: W/System.err(1582): at twitter4j.internal.http.HttpClientWrapper.post(HttpClientWrapper.java:103)

03-07 12:48:06.605: W/System.err(1582): at twitter4j.Twitter.updateStatus(Twitter.java:500)

03-07 12:48:06.605: W/System.err(1582): at com.twitter.android.TwitterApp.updateStatus(TwitterApp.java:113)

03-07 12:48:06.605: W/System.err(1582): at abhinavasblog.blogspot.com.TwitterForUActivity$1.onComplete(TwitterForUActivity.java:136)

03-07 12:48:06.605: W/System.err(1582): at com.twitter.android.TwitterApp$1.handleMessage(TwitterApp.java:239)

03-07 12:48:06.605: W/System.err(1582): at android.os.Handler.dispatchMessage(Handler.java:99)

03-07 12:48:06.615: W/System.err(1582): at android.os.Looper.loop(Looper.java:130)

03-07 12:48:06.615: W/System.err(1582): at android.app.ActivityThread.main(ActivityThread.java:3694)

03-07 12:48:06.615: W/System.err(1582): at java.lang.reflect.Method.invokeNative(Native Method)

03-07 12:48:06.615: W/System.err(1582): at java.lang.reflect.Method.invoke(Method.java:507)

03-07 12:48:06.615: W/System.err(1582): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)

03-07 12:48:06.615: W/System.err(1582): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)

03-07 12:48:06.615: W/System.err(1582): at dalvik.system.NativeStart.main(Native Method)


再试一次,又得到如下Exception:

++++++++++++++++++++


03-07 12:49:51.698: W/System.err(1582): java.lang.IllegalStateException: consumer key/secret pair already set.

03-07 12:49:51.708: W/System.err(1582): at twitter4j.TwitterOAuthSupportBaseImpl.setOAuthConsumer(TwitterOAuthSupportBaseImpl.java:234)

03-07 12:49:51.708: W/System.err(1582): at twitter4j.Twitter.setOAuthConsumer(Twitter.java:54)

03-07 12:49:51.708: W/System.err(1582): at com.twitter.android.TwitterApp.configureToken(TwitterApp.java:90)

03-07 12:49:51.708: W/System.err(1582): at com.twitter.android.TwitterApp.access$7(TwitterApp.java:88)

03-07 12:49:51.708: W/System.err(1582): at com.twitter.android.TwitterApp$3.run(TwitterApp.java:164)

03-07 12:49:51.718: E/TWITTER(1582): Error getting access token


查询资料:

http://osdir.com/ml/twitter4j/2010-10/msg00143.html


猜测原因可能是使用了twitter4j-core-2.1.6.jar 这应该是这个版本的一个Bug吧,所以尝试着换个版本试试:

换成最新版本试了一下,发些并不支持老的接口,所以试着换最接近的版本:

你可以从http://twitter4j.org/maven2/org/twitter4j/ 下载得到所有的对应的版本。


最终结果:

这不是我程序的问题,也不是twitter4j的问题,这是twitter安全机制的问题,你可以在Web端试一下,在一段时间内你是不可以重复推送相同内容的推文的。




分享到:
评论

相关推荐

    java开源包4

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目源代码

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    java开源包8

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包1

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包11

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包2

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包3

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包6

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包5

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包10

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包7

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    java开源包9

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

    java开源包101

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

    Java资源包01

    WebSocket4J 是一个用 Java 实现的 WebSocket 协议的类库,可使用 Java 来构建交互式 Web 应用。WebSocket4J 并未实现客户端通讯协议,所以不能用它来连接 WebSocket 服务器。 Struts验证码插件 JCaptcha4Struts2 ...

Global site tag (gtag.js) - Google Analytics