郑昀 20100819

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

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

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

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

接下来打算下一个基于Adobe Air的微博客户端看看,恰巧新浪微博在自己的页面很显著的位置隆重提示下载某某客户端(应该只是某个第三方开发的)。下载下来一试,我的老天啊,不说界面丑陋,就算是基本功能也是惨不忍睹,显示消息时七扭八歪互相遮挡,根本没办法用,立刻卸载。 这里就不提这个客户端名字了。(后来我用“AIR微博”这个还不错。)

至于新浪微博开放平台的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

 

旁观者
关注 - 0
粉丝 - 1
::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

订阅 substack 体验古早写作:


关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::