`
zg049zg
  • 浏览: 13959 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

为什么不大愿意调用国内厂商提供的API

阅读更多

为什么不大愿意调用国内厂商提供的API
2010年08月19日
   旁观者 - 郑昀
  软件开发这些年来,不断地遇到新领域新知识点,屡屡感受到新进入者的迷惑和彷徨,所以对遇到的每一个问题都详细记录问题现象、解决思路以及解决方案,并在blog中留下印迹,以备他日有心人google之而知之。你们的新手之痛,你们的新业务发展之初的思路混沌,我都感同身受,所以欢迎和我一起探讨这些话题,诸如语义/自然语言处理/Mashup/Web3.0/J2ME/Web2.0/IVR/SMS/WAP/SIP/Python等,知无不言言无不尽。
  
  [b][/b]
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  我平时喜欢玩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问题。
  2001~2002年时做短信二次开发的人都可能看到过华为短信API接口文档,比如有一个函数叫做SubmitA,那么后来不知道哪位大爷要加一个扩展接口,于是起名叫"SubmitAExEx",Ex我懂是扩展的意思,但也不用ExEx吧,这不算什么,后来又加了一个扩展,于是,你猜对了,叫:
  SubmitAExExEx,
  没错,三个Ex。以后的几年里,每次大家(而且还是不同公司的)看到这种接口命名都会笑喷了。
  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics