書名: Google API大全作者名: 《Google API大全》編委會(huì)本章字?jǐn)?shù): 1542字更新時(shí)間: 2018-12-29 18:38:49
第I部分 準(zhǔn)備篇——Google API概覽
第1章 Google API簡(jiǎn)介
本章簡(jiǎn)述了GoogleAPI應(yīng)用開發(fā)接口的調(diào)用方式和內(nèi)容返回格式,介紹了站點(diǎn)Mashup的工作模式,以及Google Mashup Editor輔助工具,同時(shí)給出GoogleAPI相關(guān)的開發(fā)資源。
Google的互聯(lián)網(wǎng)應(yīng)用有著非常好的開放性:面向使用者,Google提供了非常豐富的互聯(lián)網(wǎng)產(chǎn)品線;面向應(yīng)用開發(fā)者,Google則為絕大多數(shù)產(chǎn)品提供了可在第三方應(yīng)用中調(diào)用集成的API接口。
在Google API(http://code.google.com/apis.html)站點(diǎn)目錄中,已開放的幾十種API涵蓋了從搜索到廣告,從地圖到SNS的各個(gè)層面的互聯(lián)網(wǎng)應(yīng)用,如圖1-1所示。

圖1-1 Google API站點(diǎn)目錄
具備良好接口設(shè)計(jì)的開放API,會(huì)給第三方應(yīng)用開發(fā)者帶來(lái)極大的便利。通過(guò)API的方法調(diào)用,以Mashup的方式將不同Web 2.0站點(diǎn)的數(shù)據(jù)和內(nèi)容進(jìn)行綜合,把拓展豐富后的內(nèi)容展示給用戶。在集成Web站點(diǎn)資源的基礎(chǔ)之上,Mashup應(yīng)用往往還對(duì)不同的數(shù)據(jù)進(jìn)行整理分析,在相關(guān)的內(nèi)容之間建立聯(lián)系,幫助用戶獲得更為細(xì)化的個(gè)性化內(nèi)容需求,為用戶提供經(jīng)過(guò)分析綜合的信息來(lái)源。
Mashup所使用的技術(shù)和協(xié)議大多與遠(yuǎn)程服務(wù)器平臺(tái)無(wú)關(guān)。在客戶機(jī)與遠(yuǎn)程服務(wù)進(jìn)行交互的過(guò)程中,客戶端不須要獲得API功能的底層實(shí)現(xiàn)細(xì)節(jié),服務(wù)功能由請(qǐng)求和收到的消息來(lái)體現(xiàn),不同的站點(diǎn)資源在整合方面也具備松散耦合的關(guān)聯(lián)關(guān)系。
對(duì)外開放API調(diào)用的站點(diǎn)通常使用RESTful Web Service、JSON、RSS/Atom等不同途徑為開發(fā)者提供內(nèi)容調(diào)用。REST形式的API調(diào)用,服務(wù)方常提供XML或JSON等不同格式的返回值供用戶選擇。XML格式可以清晰地表述返回內(nèi)容的層次關(guān)系,而JSON格式更容易在JavaScript中調(diào)用顯示,開發(fā)者可以根據(jù)需要獲取更方便使用的返回結(jié)果。
從功能性角度看,開放API目前已經(jīng)覆蓋到信息服務(wù)、存儲(chǔ)服務(wù)、計(jì)算服務(wù)、消息服務(wù)、檢索服務(wù)等Web應(yīng)用的各個(gè)層面,如圖1-2所示。

圖1-2 站點(diǎn)對(duì)外提供API的功能性分類
存儲(chǔ)服務(wù)為開發(fā)者和中小型站點(diǎn)維護(hù)者提供數(shù)據(jù)存儲(chǔ)和獲取的途徑;消息服務(wù)用于簡(jiǎn)化并且使任意應(yīng)用程序間安全、大規(guī)模的消息通信變得容易;計(jì)算服務(wù)幫助使用者將復(fù)雜的運(yùn)算任務(wù)遷移到遠(yuǎn)程的服務(wù)平臺(tái)之上;搜索服務(wù)幫助使用者通過(guò)Google Search API等API調(diào)用,將垂直搜索應(yīng)用集成在自己的站點(diǎn)之中;信息服務(wù)幫助用戶獲取站點(diǎn)所提供的特定信息,如通過(guò)Google Maps API提供的地圖數(shù)據(jù)或Feed API讀取的RSS內(nèi)容,通過(guò)API調(diào)用幫助用戶在獲取數(shù)據(jù)的同時(shí)進(jìn)一步增強(qiáng)與站點(diǎn)的信息交互。
在Google開放的API中,如搜索、地圖、Feed、圖表等大多數(shù)API都可以直接在客戶端瀏覽器中通過(guò)JavaScript腳本調(diào)用。在這種模式下,開發(fā)者在API的Mashup頁(yè)面中嵌入JavaScript代碼,來(lái)使用API提供的操作。以這樣的方式在客戶端瀏覽器中進(jìn)行數(shù)據(jù)集成,可以直接從內(nèi)容提供者(如Google的服務(wù)器)得到返回給瀏覽器的數(shù)據(jù),減輕對(duì)第三方開發(fā)者的Mashup應(yīng)用服務(wù)器的負(fù)載,同時(shí)頁(yè)面可以通過(guò)異步更新機(jī)制讓用戶獲得更好的體驗(yàn)。
為了幫助Google API開發(fā)者更方便地應(yīng)用Mashup,Google為開發(fā)者提供了Google Mashup Editor(http://editor.googlemashups.com/editor)工具,讓開發(fā)者更快速地將Google提供的各種API整合在一起,并進(jìn)行應(yīng)用的測(cè)試,如圖1-3所示。

圖1-3 Google Mashup Editor概覽
Google Mashup Editor提供了一組開發(fā)工具集,方便使用者簡(jiǎn)單快速開發(fā)基于Google API的服務(wù)。在Mashup Editor的集成開發(fā)環(huán)境中,包含實(shí)現(xiàn)應(yīng)用快速部署和程序運(yùn)行測(cè)試的沙箱實(shí)驗(yàn)環(huán)境,可以對(duì)編寫的代碼進(jìn)行實(shí)時(shí)運(yùn)行和測(cè)試。感興趣的開發(fā)者可以使用Google賬戶注冊(cè)使用Mashup Editor來(lái)創(chuàng)建基于Google API的Mashup應(yīng)用,如圖1-4所示。

圖1-4 Google Mashup Editor中編輯API調(diào)用程序
構(gòu)建于Mashup混合搭建技術(shù)之上的站點(diǎn),不同的功能模塊展示的內(nèi)容由不同的開放API接口提供,并在此基礎(chǔ)上結(jié)合用戶自有數(shù)據(jù)在站點(diǎn)平臺(tái)中實(shí)現(xiàn)統(tǒng)一的內(nèi)容整合。由于Mashup應(yīng)用方便了用戶的交互式參與,并且通過(guò)開放API獲取更為豐富的數(shù)據(jù)等特性,使得這種應(yīng)用模式正被越來(lái)越多的開發(fā)者所關(guān)注。
開放是Web應(yīng)用下一步發(fā)展的趨勢(shì),越來(lái)越多的產(chǎn)品走向開放,并且開放的設(shè)計(jì)增加了站點(diǎn)對(duì)用戶的粘性。具備便于分享、標(biāo)準(zhǔn)化、去中心化、開放化和模塊化等特性的Google開放API,在為使用者帶來(lái)價(jià)值的同時(shí),更將互聯(lián)網(wǎng)的便利帶給每一位互聯(lián)網(wǎng)用戶。
更多中文Google API文檔,請(qǐng)參考Google Code中文站點(diǎn)(http://code.google.com/intl/zh-CN/)的內(nèi)容更新,如圖1-5所示。

圖1-5 Google Code中文站點(diǎn)
- 深度實(shí)踐OpenStack:基于Python的OpenStack組件開發(fā)
- FuelPHP Application Development Blueprints
- Hands-On Machine Learning with scikit:learn and Scientific Python Toolkits
- 認(rèn)識(shí)編程:以Python語(yǔ)言講透編程的本質(zhì)
- C語(yǔ)言程序設(shè)計(jì)
- Vue.js 3.0源碼解析(微課視頻版)
- aelf區(qū)塊鏈應(yīng)用架構(gòu)指南
- Cassandra Data Modeling and Analysis
- Elasticsearch for Hadoop
- Learning Vaadin 7(Second Edition)
- Unity 2018 Augmented Reality Projects
- SciPy Recipes
- Arduino可穿戴設(shè)備開發(fā)
- Python自然語(yǔ)言理解:自然語(yǔ)言理解系統(tǒng)開發(fā)與應(yīng)用實(shí)戰(zhàn)
- INSTANT Apache Maven Starter