當前位置:工程項目OA系統(tǒng) > 泛普各地 > 河北O(jiān)A系統(tǒng) > 石家莊OA系統(tǒng) > 石家莊OA信息化
使用Google的Web Service
使用Google的Web Service
一、簡介
Google搜索引擎提供了基于SOAP的Web
Service。這意味著不同的開發(fā)語言、開發(fā)環(huán)境都能夠使用這種服務,另外,Google為了簡化Java程序員的開發(fā),它還提供了一套Java
API接口,用于訪問Web
Serivce,這使得開發(fā)一套支持Google搜索功能的程序變得十分容易。開發(fā)人員可以將Google的搜索功能嵌入到他們的應用程序當中。本文將介紹如何使用這些Java
API,以及如何使用google的Web Service。
目前,Google的API還是處于Beta測試階段,因此,在API的使用上還有一些限制。例如,使用這些API需要申請一個帳號。對于免費申請的帳號,為了防止開發(fā)人員不正當?shù)氖褂茫拗泼總€帳號、每天最多只能查詢1000次。目前,Google還沒有提出正式的運營模式和收費方式。
Google API目前主要提供三種服務,分別如下:
1)搜索服務。用戶提交一個搜索內(nèi)容請求,Google服務器將查找超過20億的網(wǎng)頁內(nèi)容,并且將滿足用戶需求的目標返回給用戶,一般來說這種處理只需要幾秒的時間。
2)緩存服務(Cache)。用戶提交一個URL,Google服務器將返回搜索器訪問該URL的最新記錄。這樣,用戶很容易復用Google的搜索成果。
3)拼寫檢查。該功能用于檢查用戶的查詢請求是否有效。用戶提交一個檢查內(nèi)容,Google服務器將返回有效的、最接近該內(nèi)容的查詢請求,返回的查詢請求將符合Google的查詢規(guī)則。
二、相關(guān)準備工作
為了開發(fā)基于Java的程序,我們需要作如下準備工作。
1)建立Java開發(fā)環(huán)境,Java SDK 1.3.1 或更新的版本。相關(guān)地址http:.//java.sun.com/J2SE
2)下載Google API的Jar文件,Googleapi.jar。開發(fā)人員可以到http://www.google.com/apis下載。
3)申請Google訪問帳號,目前Google支持免費申請的方式,用戶需要使用一個email帳號來獲取新帳號。注意,目前免費帳號支持每天1000條的最大查詢量。申請地址:http://www.google.com/apis。
4)(可選)
如果用戶需要通過Java程序直接發(fā)送SOAP請求,開發(fā)人員需要下載相關(guān)的Java 軟件包,JAXM。下載地址:http://java.sun.com/xml
三、SOAP的使用
Google提供了基于SOAP的Web
Service,因此用戶可以向Google服務器提交SOAP的查詢請求,而后Google服務器將處理這些請求,并返回SOAP格式的查詢結(jié)果。以下就是一個查詢請求和查詢結(jié)果。
查詢:例如,有一個查詢請求,請求類型為搜索,查詢的內(nèi)容為“world cup”,帳號為“123456789”,如下為該查詢的一個例子。
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1: doGoogleSearch
xmlns:ns1="urn:GoogleSearch"
SOAP-ENV:encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/">
<key xsi:type="xsd:string">123456789</key>
<q
xsi:type="xsd:string">"World Cup"</q>
<start
xsi:type="xsd:int">0</start>
<maxResults
xsi:type="xsd:int">10</maxResults>
<filter
xsi:type="xsd:boolean">true</filter>
<restrict
xsi:type="xsd:string"></restrict>
<safeSearch
xsi:type="xsd:boolean">false</safeSearch>
<lr
xsi:type="xsd:string"></lr>
<ie
xsi:type="xsd:string">latin1</ie>
<oe
xsi:type="xsd:string">latin1</oe>
</ns1: doGoogleSearch >
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
查詢結(jié)果:如果我們執(zhí)行以上查詢,可以得到如下的查詢結(jié)果。其中,查詢結(jié)果總共有約2660000記錄,使用時間為0.125012秒。Item標記代表一條查詢結(jié)果,在第一條查詢結(jié)果中,網(wǎng)站的URL為http://www.fifaworldcup.com。本例子僅僅列舉了一條查詢結(jié)果。
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<SOAP-ENV:Body>
<ns1:doGoogleSearchResponse
xmlns:ns1="urn:GoogleSearch"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<return xsi:type="ns1:GoogleSearchResult">
<documentFiltering
xsi:type="xsd:boolean">false</documentFiltering>
<estimatedTotalResultsCount xsi:type="xsd:int">
2660000</estimatedTotalResultsCount>
<directoryCategories
xmlns:ns2="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns2:Array"
ns2:arrayType="ns1:DirectoryCategory[0]">
</directoryCategories>
<searchTime
xsi:type="xsd:double">0.125012</searchTime>
<resultElements
xmlns:ns3="http://schemas.xmlsoap.org/soap/encoding/"
xsi:type="ns3:Array" ns3:arrayType="ns1:ResultElement[10]">
<item xsi:type="ns1:ResultElement">
<cachedSize xsi:type="xsd:string">10k</cachedSize>
<hostName xsi:type="xsd:string"/>
<snippet
xsi:type="xsd:string"></snippet>
<directoryCategory
xsi:type="ns1:DirectoryCategory">
<specialEncoding
xsi:type="xsd:string"/>
</directoryCategory>
<relatedInformationPresent xsi:type="xsd:boolean">
true
</relatedInformationPresent>
<summary
xsi:type="xsd:string">
The official site from FIFA, made by Yahoo.
Daily news updates and loads of relevant information.
</summary>
<URL xsi:type="xsd:string">
http://www.fifaworldcup.com
</URL>
<title xsi:type="xsd:string">
2002 FIFA
<b>World</b>b>Cup</b>(tm)
</title>
</item>
...
</resultElements>
<endIndex xsi:type="xsd:int">10</endIndex>
<searchTips xsi:type="xsd:string"/>
<searchComments
xsi:type="xsd:string"/>
<startIndex
xsi:type="xsd:int">1</startIndex>
<estimateIsExact
xsi:type="xsd:boolean">false</estimateIsExact>
<searchQuery
xsi:type="xsd:string">
"science fiction"
</searchQuery>
</return>
</ns1:doGoogleSearchResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
四、使用Google API
Google為了提高開發(fā)人員的開發(fā)效率,提供了一套基于Java的API,用于直接訪問Google服務器。該API包裝了Google的Web
Service,使用起來比Web Service更加方便。該API 包主要包括如下幾個類:
GoogleSearch
:該類封裝了對于Google服務器的訪問,支持搜索和緩存(cache)功能。
GoogleSearchDirectoryCategory
:表示Google中的一個分類目錄
GoogleSearchFault :該類為Exception的一個子類,用于表示API使用的錯誤。
GoogleSearchResult :該類封裝了搜索的結(jié)果。
GoogleSearchResultElement:該類表示搜索結(jié)果中的每一條記錄。
如下是一個例子的源代碼,用于一個簡單查詢,查詢請求為”world Cup”,查詢的帳號為”123456789”。該例子將把查詢結(jié)果打印出來。如果用戶需要近一步解析查詢結(jié)果,可以使用GoogleSearchResult和GoogleSearchResultElement類。
import com.google.soap.search.*;
import java.io.*;
public class GoogleAPITest {
public static void main(String[] args) {
String clientKey="123456789";
String query="Word Cup";
// Create a Google Search object, set our authorization key
GoogleSearch s = new GoogleSearch();
s.setKey(clientKey);
try {
s.setQueryString(query);
GoogleSearchResult r =
s.doSearch();
System.out.println("Google Search Results:"+t.toString());
} catch (GoogleSearchFault f) {
System.out.println("The call to
the Google Web APIs failed:"+f.toString());
}
}
}
五、總結(jié)
Google搜索引擎提供了搜索、緩存和拼寫簡單功能,通過Web
Service可以在不同的平臺、不同的語言使用,為了簡化SOAP的開發(fā),Google還提供了包裝了SOAP服務的Java
API,這也大大提高了Java程序員的開發(fā)效率。隨著搜索內(nèi)容、形式的豐富,更多的開發(fā)人員可以將這種技術(shù)運用在自己應用程序中,擴展應用程度的功能。
- 1Web服務內(nèi)幕,第1部分:我們已走了多遠?
- 2石家莊OA信息化如何管出企業(yè)前途(羅鼎)
- 3BEA和Palm合作掌上電腦Web服務
- 4IBM WebSphere vs. 微軟.NET:誰將獲得勝利?
- 521世紀企業(yè)文化發(fā)展的六大趨勢
- 6Web服務內(nèi)幕,第9部分:研究問題--安全性與保密性
- 7有一個綜合性學術(shù)資源檢索站點,不錯!
- 8Web服務將突破規(guī)模限制 可應用到臺式機上
- 9如何幫助企業(yè)構(gòu)建安全的協(xié)同辦公系統(tǒng)?
- 10由 80/20 法則突破「知識分享」的心防
- 11創(chuàng)造性的Intranet:Factors for Corporate Knowledge Creation
- 12知識經(jīng)濟時代的知識、競爭與制度演化
- 13石家莊OA信息化的“三四五六七”(by AMT 石家莊OA信息化小組)
- 14組織學習的五種類型
- 15[原創(chuàng)]淺談KM的知識源采集和技術(shù)實現(xiàn)
- 16WebLogic Workshop給非開發(fā)人員帶來Web服務
- 17泛普軟件石家莊OA信息化IT實施步驟與策略
- 18架構(gòu)Web Service:什么是Web服務?
- 19微軟等籌備Web服務盛會 Sun再遭冷遇
- 20信息技術(shù)與業(yè)務流程融合
- 21泛普軟件石家莊OA信息化系統(tǒng)技術(shù)架構(gòu)
- 22石家莊OA信息化的價值和挑戰(zhàn)
- 23將Web服務用于電子交易的單點登錄
- 24OA辦公系統(tǒng)可以幫助企業(yè)擺脫束縛
- 25不僅看投資回報,還要看“知識回報”
- 26在長時間操作過程中更新顯示
- 27如何使用Visual Studio .NET和Office XP創(chuàng)建和部署XML Web Service
- 28Web Services Description Language (WSDL) 1.1
- 29Web Services Interoperability and SOAP
- 30我國商貿(mào)業(yè)將迎來新一輪的IT建設高潮
成都公司:成都市成華區(qū)建設南路160號1層9號
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號-2 渝公網(wǎng)安備50011202501700號 咨詢電話:400-8352-114