旁观者

参与软件开发这些年来,不断地遇到新领域新知识点,屡屡感受到新进入者的迷惑和彷徨,所以对遇到的每一个问题都详细记录问题现象、解决思路以及解决方案,并在blog中留下印迹,以备他日有心人google之而知之。
你们的新手之痛,你们的新业务发展之初的思路混沌,我都感同身受,所以欢迎和我一起探讨这些话题,诸如Semantic/NLP/Mashup/J2ME/IVR/SMS/WAP/Python等,知无不言言无不尽。
posts - 538, comments - 970, trackbacks - 39, articles - 1
   ::  ::  ::  :: 订阅 订阅 :: 管理

郑昀  20100819

我平时喜欢玩Mashup,所以对国外各种开放接口都有兴趣看两眼。像Twitter的,Yahoo!的(Yahoo! Pipe、YQL),Google(Buzz、Google Reader、Chart、WebFinger等)的,即使是很不着调的Social Graph API ,都能很快测试通过然后嵌到自己的所谓“智能语义聚合框架”里。但对于国内哪怕是所谓“开放平台”提供的API都会比较犯憷。

(Updated:我没想一杆子打翻一船人。新浪开放平台算是中国大陆做得最好的了。文档也很详细。只是我撞了两三次罢了。豆瓣文档很好,调用也很顺利,只是权限保护得非常严格,遂放弃。)

“不问不知道”的新浪微博

权限问题:

四月份时研究新浪微博开放平台 的搜索微博接口,曾经在Twitter上的@TimYang 的提示下调用成功过,但不久后一直调用失败,估计是加什么权限了。问来问去,微博上有新浪的人告知,此接口与其他接口不同,还需要单独申请权限。但它的官方Wiki中对此没有做任何提示,也没有人知道该找谁申请,新浪微博开放平台页面也没有这种提示,给 open_sina_mblog(at)vip.sina.com 发邮件申请也没人回复。

后来居然是在@微博开放平台 的私信指点下(亲人啊,感谢啊),找到了一位工作人员的MSN。他请示上级领导之后告诉我,新浪微博Search API接口只向手机设备开放,对于第三方(互联网)应用不开放。新浪您倒是早点在自家页面上写清楚呀,浪费我时间。(今天又看了下,文档上终于做了提示:『search 搜索微博文章 (仅对新浪合作开发者开放)』。经过测试证明开禁了,第三方也可以调用了。)

example和文档问题:

新浪微博开放平台的SDK下载中提供的Python包(实际就是把Twitter的第三方库tweepy原封不动拿过来)呢,里面提供了 examples ,照理说就是测试用例。okay,按一般 API 的范儿(比如像Amazon API),只需要把APIKey和SecretKey换成我自己申请的即可测试了。但是捏,你要是真这么做,无论哪一个接口调用都是返回error response: status code = 400。为啥捏?因为OAuth不是像他们的 examples 那么玩的,需要写更多代码才能测试通过。堂堂新浪的文档和开发教程,反而不如人家一个小博客写得清楚(还配图呢,你见过新浪配过图吗?):http://jmillerinc.com/2010/05/31/twitter-from-the-command-line-in-python-using-oauth/

为什么我调用Twitter API以及人家提供的各种封装库时,哪怕是第三方提供的开源库,也很少担心这些问题呢?


ExExEx的华为

顺便提一下这个臭名昭著的ExExEx问题。

2001~2002年时做短信二次开发的人都可能看到过华为短信API接口文档,比如有一个函数叫做SubmitA,那么后来不知道哪位大爷要加一 个扩展接口,于是起名叫“SubmitAExEx”,Ex我懂是扩展的意思,但也不用ExEx吧,这不算什么,后来又加了一个扩展,于是,你猜对了,叫:

SubmitAExExEx,

没错,三个Ex。以后的几年里,每次大家(而且还是不同公司的)看到这种接口命名都会笑喷了。

http://images.cnblogs.com/cnblogs_com/zhengyun_ustc/255879/o_1.png

 

Feedback

#1楼  回复 引用 查看   

2010-08-20 00:08 by 罗布泊      
新浪微博开放API之前,我写了一个发贴机。把淘客数据导进access,大概有80M,然后读出来,发到新浪微博上。后来加了验证码,又封号。现在出了API,也懒得发广告了。

#2楼  回复 引用 查看   

2010-08-20 09:26 by 一方净土      
唉..

#3楼  回复 引用 查看   

2010-08-20 10:58 by wisenwu      
都jb打着开放的口号炒作而已

#4楼  回复 引用 查看   

2010-08-20 15:34 by Tony Qu      
架构有问题,扩展性没做好

#5楼[楼主]  回复 引用 查看   

2010-08-20 17:33 by 旁观者      
@Tony Qu
说华为呢吧,华为研发一般在某类项目极早期时都是很仓促上阵的,因为销售主导所以赶工期,也因此有些地方做得不够专业。

#6楼  回复 引用 查看   

2010-12-01 11:19 by xiaguangme      
新浪微博的java也是直接抄 的twitter4j的,还没抄好