IT技术小屋

秋风秋雨,皆入我心

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  38 随笔 :: 1 文章 :: 19 评论 :: 0 Trackbacks

周末用了下新浪微博开放平台API和官方发布的Java客户端,感觉可以用两个字形容:坑爹!

先说说遇到的几个极其弱智的bug吧:

1)分页

官方API文档里面对数据分页获取的说明是使用cursor和count这两个参数。其中,cursor指明了起始记录的位置,而count指明了当前每页的记录条数,请求第一页的时候cursor为-1。返回结果会给出next_cursor,指明下一页的起始位置。

这个设计看起来不错,问题是根据这个文档,得到的结果会有重复。也就是说同一条记录会出现在多个页面中,而且这种重复出现的频率是随机的。试想连程序的行为都无法预测,叫别人怎么开发应用?!

更搞笑的是,官方发布的Java客户端居然把cursor写成了page,导致了不管怎么设置参数,返回的都是很多重复的数据,但重复的比例又是随机的!难道新浪没有对这个客户端进行过简单的测试就发布了吗?无法想象!!

2)返回结果的解析

好不容易把用户信息得到了,新浪自己写了一个JavaBean用来表示一个User的信息。问题是把JSON解析成Java对象的时候,居然把布尔属性字段解析错了,导致每次返回都是false,好不容易得到的数据就这么泡汤了~~难道解析JSON很难嘛??敢测试下再发布吗?

3)诡异的负数

我小学学到的知识告诉我,人的个数不可能是负数。于是我天真的在followers_count这个数据库字段上加了unsigned,本以为教数据库的老师应该很开心吧,这孩子设计的数据库还蛮严谨的,而且应该能够和新浪的数据很好地匹配。

于是我开心的运行程序,诡异的错误出现了:超出字段范围。晕,于是检查所有数字字段是否超过了表示范围,N遍检查过后确认数据库没问题,纠结~~于是看log,发现返回的数据里面,有一个项的followers_cout字段是-2,负数!!!尼玛这人虽然粉丝少了点,也不至于欠你新浪两个粉丝吧,我当时就凌乱了,于是加了很多异常数据的判断和检查。。。

4)诡异的版权信息

Java客户端里面很多文件的作者信息是:@author Yusuke Yamamoto - yusuke at mac.com,感觉这应该是一个苹果公司的员工开发的,然后新浪拿过来,没有code review,没有测试,就直接官方发布了。。。

这样不重视代码质量,把产品构建在志愿者的贡献之上,我觉得是新浪的耻辱,更是中国互联网产业的顽症恶疾。

以上只是我这两天试用了一小部分API的感受。由于各种bug,我不得不阅读源代码,并根据我的需求改写代码,甚至一度我准备抛弃这个客户端,直接用HTTP调用。反正最后严重降低了我的效率。

回想起这两天传高铁出事是程序员的问题,我看要按照新浪这质量标准,不知道还要出什么大事~~

 

posted on 2011-07-31 20:49 Meng Lee 阅读(3785) 评论(11)  编辑  收藏 所属分类: 互联网

评论

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 01:19 altchen
写的还挺好笑,哈哈哈  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽[未登录] 2011-08-01 08:57 alpha
4)诡异的版权信息

这个不同意你的观点,这是尊重版权信息,使用人家提供的算法,又怎能去掉人家的版权信息,人家不告你告谁。  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 09:35 毛叔
新浪的java SDK是对twitter4j进行改动而生成的,twitter4j没有这么多问题,而且演进很快,twitter4j的作者就是Yusuke Yamamoto。也不知道新浪具体是改动的哪个版本的twitter4j。
同意你的说法,新浪的SDK没有测试就发布了,而且很长一段时间没有更新。  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 10:11 JarnTang
我上次调用sina的api,也被坑了,导致网站的交易出现异常,后来对sina的所有接口返回的数据全部自己检验一次  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 10:28 Meng Lee
原来是这样,受教了~~@毛叔
  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 10:29 Meng Lee
我只是说这个客户端不是新浪开发的,版权信息确实需要保留的@alpha
  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 11:35 HiMagic!
哈哈,Sina玩Java还不够火候,连PHP都玩的不太转,弄个AppEngine问题一箩筐,不知道他们的工程师一个月拿多少钱  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-08-01 13:50 seaeast

方便的话,可以加下我Msn:su.haidong@hotmail.com或者Q:540003006

1、这个确实存在这个问题,晚些会更新下。
2、这个是指哪个字段?
3、负数的问题

麻烦能给个联系方式嘛?
我好确认下问题,多谢。




  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-09-05 11:00 happy
全部都遇到这样的问题了我,关键是分页始终没有成功过,  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-11-29 21:33 djoy
我也发现了 这个jason解析太坑爹了 而且我在返回关注id的时候居然返回到了不存在的id 继续检查它的api 看得我郁闷死了  回复  更多评论
  

# re: 关于新浪微博开放平台API和Java客户端的吐槽 2011-12-16 14:59 电玩
Yusuke Yamamoto,作者是个日本人,叫山本裕介。Sina真应该叫支那  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: