新浪微博Android SDK——如何打印出5位错误码

  新浪微博是我最早写入到项目中去的,利用的是它Java SDK。但是最近整理各个SDK的时候发现——新浪微博对新应用要求使用OAuth2.0,所以我只能利用它的Android SDK重新写入到程序中。其实改写程序还是比较简单的,只要根据它的Sample程序进行修改就行了。但是这个过程中碰到了一个问题。

  问题描述:获得Access Token之后,进行图文微博的发送,但是每次只有第一次发送成功,获得Log信息:“{"created_at":"Wed Mar 21 11:12:52 +0800……”。但是接下来我继续发送的话,却得到:“com.weibo.net.WeiboException: HTTP/1.1 400 ”。我在新浪论坛问了一下,版主要求我提供5位错误码。我表示一头雾水,难道要我进行抓包。。。

  问题解决:其实我们仔细观察会发现,其实我们两次得到的Log信息其实是不一样的。至少第二次也应该是:“{……}”的。所以我就怀疑是SDK内部写错。经过我的调试,最后我们的办法是:

  在SDK的Utility.java的第335行:throw new WeiboException(String.format(status.toString()), statusCode);
改成:throw new WeiboException(result, statusCode);估计是作者在编写时的一个失误。


  然后在你的程序中输出错误信息就可以了:

weiboRunner.request(AAuthTestActivity.this, url, bundle, Utility.HTTPMETHOD_POST, new  com.weibo.net.AsyncWeiboRunner.RequestListener(){
 
                         @Override
                         public void onComplete(String arg0) {
                             // TODO Auto-generated method stub
                             Log.e("sina_complete",arg0.toString());
                         }
 
                         @Override
                         public void onError(WeiboException arg0) {
                             // TODO Auto-generated method stub
                             Log.e("sina_error",arg0.toString());
                         }
 
                         @Override
                         public void onIOException(IOException arg0) {
                             // TODO Auto-generated method stub
                             Log.e("sina_IOException",arg0.toString());
                         }
                         
                     });

 我的输出信息是:{"error":"repeat content!","error_code":20019,"request":"/2/statuses/upload.json"}。这样你就可以在http://open.weibo.com/wiki/Help/error 找到你的错误原因了。

  希望对大家有帮助!


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值