API的全称是应用编程接口(Application Programming Interface),这并不是一个新概念,在计算机操作系统出现的早期就已经存在了。在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做开放网站的API,与之对应的,所开放的API就被称作openAPI

中文简介

  使用API构建业务是实现开放式业务结构的关键技术,也是下一代网络区别于传统电信网的主要特点之一。目前,关于下一代网络的开放式业务API标准主要包括:由Parlay组织、3GPPETSI SPAN共同制定的Parlay/OSA API以及由SUN公司在Java平台上推出的JAIN API

  在google开放API之前,已经有amazonebay等公司开放API,但是对应的数据集中在商品上,与人们的日常互联网应用有一定的距离。真正推动整个互联网开放的发端,应该算是google2005年开放google mapsAPI,由此涌现出众多的web2.0应用,也推动Yahoo! Maps开放APIGoogle的开放触动了微软,在20059月,微软推出其“Web 平台Web Platform)策略,策略中包括公开MSN Search等一些公共Web网站的API、发布更好的开发工具等措施。微软的目标是采用Web 2.0或可编程Web的新兴模式,基于这些已经存在的、公开的Web网站而建立新的应用。在这种模式下,互联网公司不仅仅能提供对Web网页的简单访问,还可以将它们的Web网站转换为与操作系统等价的开发平台。三大巨头的参与,使得开放大潮风起云涌。

  在开放API的环境下,我们就可以对原有的一些碎片化的数据进行重组,使其变得更有有关联。这时候出现了叫做mashup的东西。mashup又叫做web应用混搭技术,指的是利用其他网站的openAPI提供的内容进行重新搭配,从而制作出独特的、具有新价值的web应用的一种技术。其中最具代表性的当属运用google maps提供的开放地理信息而创作出的令人眼花缭乱、极具创意的mashup应用,比如:housingmaphttp://www.housingmaps.com/)是一个非常coolmashup应用。它利用了craigslisthttp://www.craigslist.org)和Google Mapshttp://maps.google.com/)的openAPI,把它们巧妙的组合起来,让租房的信息有机的组织和直观的显示在google maps提供的地图之上;twittervisionhttp://twittervision.com/)是把twitterhttp://twitter.com/)和google mapsopenapi进行mashup而形成的一个非常有趣的应用。进入twittervision网站,你会看到一个世界地图,地图上会不断冒出一些消息气泡,气泡里的内容就是某个人在twitter上喊话的内容了,而气泡的位置则是根据喊话人的地理位置信息而标记在了google maps上,当然它现在已经融合了更多网站的内容。

  google在开放API方面的确称得上是开拓者和领导者(http://code.google.com/),不仅拥有search API, chart API, map api, opens ocial API等一系列还在不断增长的API列表,更在开放平台方面发力,推出开放的手机平台android和云计算平台appengine。在googleyahoo、微软的带动下,flickryoutube等一系列网站也都纷纷对自己的服务提供了API供第三方开发者使用。

按制定者与遵循者分类

  openAPI按照制定者与遵循者的关系可以简单划分成两个大类:

1、专有

  一个API制定出来主要是为了制定者本身提供应用开发接口的目的,这样的API就叫做专有API,例如facebookAPI。大部分的API制定之初都是专有API,极特别的情况除外(例如googleopen social,制定出来是给其他网站用,形成一种标准)。

2、标准

  一个API称之为标准API,或者是制定者并不提供该API所定义的服务,例如google opensocial——此时它必须为成为业界标准而努力;或者是该API被业内很多服务提供者所遵循,例如RSS——要么是因为业内形成事实标准,要么是已经被标准化组织采纳。

按提供的服务内容分类

  openAPI按照提供的服务内容进行分类大概可以划分成下面几类:

1、搜索类

  搜索类的API主要由搜索引擎提供商提供,主要可用来为你的网站添加搜索功能,或者利用其搜索结果进行组装。典型的例子如google search API, yahoo search API等。

  运用搜索API进行mashup,可以做出像这个URLhttp://www.langreiter.com/exec/yahoo-vs-google.html,对比两个搜索引擎的搜索结果)这样好玩的应用。

2、文字资讯类

  不可否认,RSS接口可以成为几乎所有文字资讯类服务,如资讯类网站、博客、论坛的标准API。也因此,google readerhttp://reader.google.com/)、抓虾(http://www.zhuaxia.com/)、鲜果(http://www.xianguo.com/)等阅读器才能够轻松我们的阅读生活。

  而在此之外,还有许多专有的API提供这专有的文字资讯类服务,例如twitterAPIcraigslistAPI、豆瓣(http://www.douban.com/)的API等。

3、多媒体类

  flickrhttp://www.flickr.com/)是雅虎旗下的著名图片分享网站,flickr开放了API接口,所以才有第三方fans为它开发各种操作系统下的五花八门的工具(http://www.flickr.com/services/)。

  google旗下的视频网站youtubehttp://www.youtube.com/)也是同样因开放API而受益匪浅(http://code.google.com/apis/youtube/casestudies/)。

4、地理信息类

  如前所述,地图API应该算得上是最有趣的API之一了,因为它为一维的文字信息提供了一个二维的载体,此外,互联网上的信息780%与地理位置有关也是重要的原因。所以googleyahoo纷纷开放了自己的地图APIgoogle更是搞到了地球的卫星图片,做了三维的地理信息服务及开放接口,那就是著名的谷歌地球google earthhttp://earth.google.com/)及其APIhttp://code.google.com/apis/earth/)。有人用google earth做了个游戏(http://www.gewar.net/),可以去玩玩。

5、用户及关系类

  在社交网站风靡的今天,用户关系信息也成为一大类重要的数据。这方面的杰出代表就是facebookhttp://www.facebook.com/),它通过开放API使得大量的第三方开发者可以在其社会化网络平台上开发出成千上百的应用,从而极大丰富了其平台自身的功用和乐趣。

  而google也不甘寂寞,2007111日,Google宣布了自己的社会关系平台标准Open Social。并且与facebook把接口专有的做法不同,google致力于推广这套API,力图使得全世界的社交网站都遵循这个标准API开放它们的数据。凭借google在互联网界的强大号召力, 参与此一开放平台的,除了MySpace外,还包括Engage.comFriendsterhi5Hyves、 imeemLinkedInNingOracleOrkutPlaxoSalesforce.comSix ApartTianjiViadeoXING等等网站。

  在google大力推广Open Social这个开放平台标准的压力下,在今年6月,Facebook 把旗下的 F8 完全转变为开放源代码的平台,这无意给社交网络开放平台的标准之争增加了更多变数。

6、电子商务类

  电子商务类网站提供的服务主要是围绕企业信息、商品信息展开的,此类网站开放API的主要目的是吸引第三方开发者开发各种附加功能,提高访问量、成交量或者用户粘性,从而提高网站自身的盈利水平,同时,将提高的部分盈利与第三方开发者利益分摊,吸引开发者持续开发和运营。典型的代表如amazon。据悉国内的C2C网站淘宝(http://www.taobao.com/)也即将开放API

7、注册类

  最后,还有一类不太引人注意的API,那就是注册类的API。几乎所有的网站在开放接口的时候都会同时提供一套供用户认证身份的专有API。但是openIDhttp://openid.net/)这个项目却是在致力于提供一个标准的、通用的注册API,如果所有网站都遵守了openID规范,那么我们就不用为每个网站记住一套用户名和密码了。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐