第I部分 准备篇——Google API概览
第1章 Google API简介
本章简述了GoogleAPI应用开发接口的调用方式和内容返回格式,介绍了站点Mashup的工作模式,以及Google Mashup Editor辅助工具,同时给出GoogleAPI相关的开发资源。
Google的互联网应用有着非常好的开放性:面向使用者,Google提供了非常丰富的互联网产品线;面向应用开发者,Google则为绝大多数产品提供了可在第三方应用中调用集成的API接口。
在Google API(http://code.google.com/apis.html)站点目录中,已开放的几十种API涵盖了从搜索到广告,从地图到SNS的各个层面的互联网应用,如图1-1所示。
图1-1 Google API站点目录
具备良好接口设计的开放API,会给第三方应用开发者带来极大的便利。通过API的方法调用,以Mashup的方式将不同Web 2.0站点的数据和内容进行综合,把拓展丰富后的内容展示给用户。在集成Web站点资源的基础之上,Mashup应用往往还对不同的数据进行整理分析,在相关的内容之间建立联系,帮助用户获得更为细化的个性化内容需求,为用户提供经过分析综合的信息来源。
Mashup所使用的技术和协议大多与远程服务器平台无关。在客户机与远程服务进行交互的过程中,客户端不须要获得API功能的底层实现细节,服务功能由请求和收到的消息来体现,不同的站点资源在整合方面也具备松散耦合的关联关系。
对外开放API调用的站点通常使用RESTful Web Service、JSON、RSS/Atom等不同途径为开发者提供内容调用。REST形式的API调用,服务方常提供XML或JSON等不同格式的返回值供用户选择。XML格式可以清晰地表述返回内容的层次关系,而JSON格式更容易在JavaScript中调用显示,开发者可以根据需要获取更方便使用的返回结果。
从功能性角度看,开放API目前已经覆盖到信息服务、存储服务、计算服务、消息服务、检索服务等Web应用的各个层面,如图1-2所示。
图1-2 站点对外提供API的功能性分类
存储服务为开发者和中小型站点维护者提供数据存储和获取的途径;消息服务用于简化并且使任意应用程序间安全、大规模的消息通信变得容易;计算服务帮助使用者将复杂的运算任务迁移到远程的服务平台之上;搜索服务帮助使用者通过Google Search API等API调用,将垂直搜索应用集成在自己的站点之中;信息服务帮助用户获取站点所提供的特定信息,如通过Google Maps API提供的地图数据或Feed API读取的RSS内容,通过API调用帮助用户在获取数据的同时进一步增强与站点的信息交互。
在Google开放的API中,如搜索、地图、Feed、图表等大多数API都可以直接在客户端浏览器中通过JavaScript脚本调用。在这种模式下,开发者在API的Mashup页面中嵌入JavaScript代码,来使用API提供的操作。以这样的方式在客户端浏览器中进行数据集成,可以直接从内容提供者(如Google的服务器)得到返回给浏览器的数据,减轻对第三方开发者的Mashup应用服务器的负载,同时页面可以通过异步更新机制让用户获得更好的体验。
为了帮助Google API开发者更方便地应用Mashup,Google为开发者提供了Google Mashup Editor(http://editor.googlemashups.com/editor)工具,让开发者更快速地将Google提供的各种API整合在一起,并进行应用的测试,如图1-3所示。
图1-3 Google Mashup Editor概览
Google Mashup Editor提供了一组开发工具集,方便使用者简单快速开发基于Google API的服务。在Mashup Editor的集成开发环境中,包含实现应用快速部署和程序运行测试的沙箱实验环境,可以对编写的代码进行实时运行和测试。感兴趣的开发者可以使用Google账户注册使用Mashup Editor来创建基于Google API的Mashup应用,如图1-4所示。
图1-4 Google Mashup Editor中编辑API调用程序
构建于Mashup混合搭建技术之上的站点,不同的功能模块展示的内容由不同的开放API接口提供,并在此基础上结合用户自有数据在站点平台中实现统一的内容整合。由于Mashup应用方便了用户的交互式参与,并且通过开放API获取更为丰富的数据等特性,使得这种应用模式正被越来越多的开发者所关注。
开放是Web应用下一步发展的趋势,越来越多的产品走向开放,并且开放的设计增加了站点对用户的粘性。具备便于分享、标准化、去中心化、开放化和模块化等特性的Google开放API,在为使用者带来价值的同时,更将互联网的便利带给每一位互联网用户。
更多中文Google API文档,请参考Google Code中文站点(http://code.google.com/intl/zh-CN/)的内容更新,如图1-5所示。
图1-5 Google Code中文站点