當(dāng)前位置:工程項(xiàng)目OA系統(tǒng) > 泛普各地 > 上海OA系統(tǒng) > 上海OA快博
使用Visual Basic .NET訪問(wèn)Google的Web服務(wù)
申請(qǐng)免費(fèi)試用、咨詢電話:400-8352-114
AMTeam.org使用Visual Basic .NET訪問(wèn)Google的Web服務(wù)
學(xué)習(xí)如何從 Visual Basic .NET Windows 前端訪問(wèn) Google 的 Web API 服務(wù)。本文說(shuō)明如何調(diào)用 SOAP Web 服務(wù)、執(zhí)行 Google 搜索、訪問(wèn) Google 緩存中的頁(yè)面,以及調(diào)用 Google 的拼寫檢查器。
從 MSDN Code Center(英文)下載 VBGoogleDemo.exe。
Web 服務(wù)真酷
Web 服務(wù)(英文)方興未艾,是最激動(dòng)人心的技術(shù),正對(duì) Internet
和商業(yè)產(chǎn)生巨大的影響。使用 Web 服務(wù)可以以常規(guī)方式開展業(yè)務(wù),而將 Internet 作為傳輸工具,通過(guò)防火墻執(zhí)行遠(yuǎn)程過(guò)程調(diào)用。Google 是提供公共
Web 服務(wù)的先驅(qū)之一,允許任何開發(fā)人員訪問(wèn) Google 的搜索、緩存和拼寫檢查服務(wù)。Visual Studio .NET 簡(jiǎn)化了訪問(wèn) Google Web
API 服務(wù)各種功能的過(guò)程。
示例窗體
圖 1 顯示了示例窗體的界面。它包含一個(gè)文本框,用于輸入 Google
許可證密鑰(請(qǐng)參閱補(bǔ)充說(shuō)明“如何獲取 Google Web API 工具包和許可證密鑰”),還包含三個(gè)區(qū)域用于測(cè)試三種 Google
功能。在第一個(gè)區(qū)域中輸入搜索文本,將返回結(jié)果的數(shù)目。在第二個(gè)區(qū)域中輸入 Web 站點(diǎn),將返回 Google 緩存中頁(yè)面的大小。在第三個(gè)區(qū)域中調(diào)用 Google
拼寫檢查功能,將返回檢查值。
圖 1:正在運(yùn)行的窗體
過(guò)程
了解窗體的功能后,讓我們來(lái)看看對(duì)窗體進(jìn)行編碼的步驟。主要包括四個(gè)步驟:
引用 Web 服務(wù)
創(chuàng)建執(zhí)行搜索的功能
創(chuàng)建檢查緩存大小的功能
創(chuàng)建調(diào)用拼寫檢查的功能
引用
Google Web 服務(wù)
引用 Google Web 服務(wù)的步驟如下:
創(chuàng)建新的 Windows Forms(Windows 窗體)項(xiàng)目。
右鍵單擊該項(xiàng)目。
選擇
Add Web Reference(添加 Web 引用)。
注意:Add Web Reference(添加 Web 引用)選項(xiàng)與 Visual
Basic 6 中的 Add Reference(添加引用)類似,不同之處在于,現(xiàn)在您可以訪問(wèn)位于不同網(wǎng)絡(luò)上的 XML Web service,而不是訪問(wèn)
COM 組件的所有方法。優(yōu)點(diǎn)在于,這種訪問(wèn)的類型是確定的,而且可以像觸發(fā)任何本地對(duì)象一樣觸發(fā)智能感知。
在 Address(地址)文本框中,鍵入
Web 服務(wù)描述的位置 (http://api.google.com/GoogleSearch.wsdl)。
單擊 Add Reference(添加引用)按鈕,導(dǎo)入 Web 服務(wù)定義。
導(dǎo)入定義后,轉(zhuǎn)到 Solution
Explorer(解決方案資源管理器),然后打開樹上的 Web References(Web 引用)節(jié)點(diǎn)。
右鍵單擊 Google 引用并選擇
Rename(重命名),重命名引用。
拖動(dòng)上面顯示的窗體。
為每個(gè)按鈕添加代碼。雙擊每個(gè)按鈕(與在 Visual Basic 6
中一樣),即可訪問(wèn)觸發(fā)單擊事件時(shí)運(yùn)行的方法。讓我們依次看看各個(gè)按鈕。
執(zhí)行 Google 搜索
查看列表 1 中 btnSearch_Click
方法的代碼,我們可以看到創(chuàng)建了一個(gè)新的 GoogleSearchService 對(duì)象。在下一行中,創(chuàng)建了一個(gè)新的 GoogleSearchResult
對(duì)象,并且使用了在一行中聲明和創(chuàng)建對(duì)象的 Visual Basic .NET 新功能。在 Visual Basic .NET
中,以下兩段代碼是等效的:
Dim x As String = "Hello"
和
Dim x As String
x = "Hello"
創(chuàng)建 result 對(duì)象(通過(guò)向搜索對(duì)象傳遞
Google 許可證密鑰、搜索文本和其他參數(shù)創(chuàng)建)后,使用 estimatedTotalResultsCount 屬性填寫標(biāo)簽。在四行代碼中,調(diào)用了一個(gè) Web
范圍內(nèi)的過(guò)程,執(zhí)行了一個(gè) Google 搜索,并發(fā)送了結(jié)果的數(shù)目。
本示例簡(jiǎn)單說(shuō)明了如何使用搜索服務(wù)。有關(guān)搜索請(qǐng)求的參數(shù)和返回?cái)?shù)據(jù)的詳細(xì)信息,請(qǐng)參閱 Google 的參考文檔。
' 創(chuàng)建 Google 搜索對(duì)象。
Dim s As New
Google.GoogleSearchService()
' 調(diào)用搜索方法。
Dim r As Google.GoogleSearchResult
=
s.doGoogleSearch(txtLicenseKey.Text, txtSearchTerm.Text, 0,
1, _
False, "", False, "", "", "")
' 提取并顯示估計(jì)的搜索結(jié)果的數(shù)目。
Dim
estResults As Integer = r.estimatedTotalResultsCount
lblSearchResults.Text =
CStr(estResults)
列表 1:btnSearch_Click 方法
獲取 Web 頁(yè)面的大小
如列表 2 所示,獲取 Google 服務(wù)器上緩存的
Web 頁(yè)面的大小很容易。這里調(diào)用了 doGetCachedPage 方法,并將其指定給字節(jié)數(shù)組,然后由數(shù)組提供其長(zhǎng)度。
' 創(chuàng)建 Google 搜索對(duì)象
Dim s As New
Google.GoogleSearchService()
' 調(diào)用 doGetCachedPage 方法并獲取緩存字節(jié)
Dim bytes() As
System.Byte = _
s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
'
顯示緩存頁(yè)面的長(zhǎng)度
lblCacheResults.Text = CStr(bytes.Length)
列表 2:btnCache_Click
方法
執(zhí)行拼寫檢查
最后一種 Google 方法調(diào)用 Google
引擎的拼寫檢查功能。調(diào)用了 GoogleSearchService 對(duì)象上的 doSpellingSuggestion
方法,如果獲得結(jié)果,我們就簡(jiǎn)單地顯示這些結(jié)果。
' 創(chuàng)建 Google 搜索對(duì)象
Dim s As New
Google.GoogleSearchService()
' 請(qǐng)求拼寫建議
Dim suggestion As String =
_
s.doSpellingSuggestion(txtLicenseKey.Text,
txtSpell.Text)
' 顯示建議(如果有)
If suggestion Is Nothing
Then
lblSpellResults.Text =
"<無(wú)建議>"
Else
lblSpellResults.Text =
suggestion
End If
列表 3:btnSpell_Click 方法
有關(guān)異常處理的一點(diǎn)說(shuō)明
下載的代碼將所有功能都包含在 Try...Catch
塊中(參見(jiàn)列表 4)。使用此塊可以捕獲從 SOAP Web
服務(wù)中返回的任何錯(cuò)誤,并在消息框中顯示這些錯(cuò)誤。最常見(jiàn)的錯(cuò)誤通常會(huì)在忘記輸入許可證密鑰時(shí)出現(xiàn)。要獲取許可證密鑰,請(qǐng)參閱如何獲取工具包和許可證密鑰。
' 創(chuàng)建 Google 搜索對(duì)象
Dim s As New
Google.GoogleSearchService()
Try
' 調(diào)用 doGetCachedPage
方法并獲取緩存字節(jié)
Dim bytes() As System.Byte =
_
s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
'
顯示緩存頁(yè)面的長(zhǎng)度
lblCacheResults.Text =
CStr(bytes.Length)
Catch ex As
System.Web.Services.Protocols.SoapException
MsgBox(ex.Message)
End Try
列表 4:包含異常處理的 btnCache_Click 方法
小結(jié)
Visual Basic .NET 提供了一種在 Web 上訪問(wèn) Web
服務(wù)的簡(jiǎn)單方法。將這種功能添加到您的“智囊”中,可以獲得一種新功能 - 正如添加 COM 對(duì)象和 ActiveX 控件能夠?yàn)?Visual Basic 6
應(yīng)用程序添加新功能一樣。您還可以嘗試將 Google 的拼寫檢查功能添加到基于 Web 的消息板中,或者嘗試自動(dòng)監(jiān)控 Web
以獲得特定問(wèn)題的最新信息。要獲得更多靈感,還可以搜索 Web(嘗試搜索“VB Google API applications”)查找其他 VISUAL
BASIC 開發(fā)人員使用 Google Web API 開發(fā)出來(lái)的應(yīng)用程序。希望大家開心!
如何獲取工具包和許可證密鑰
要訪問(wèn) Google Web API
工具包并請(qǐng)求許可證密鑰,請(qǐng)?jiān)L問(wèn) http://www.google.com/apis/(英文)并按照其說(shuō)明進(jìn)行操作。您可以下載開發(fā)人員工具包并創(chuàng)建自己的 Google 帳戶,經(jīng)過(guò)電子郵件確認(rèn)后,它會(huì)為您提供一個(gè)每天可以進(jìn)行 1,000
次免費(fèi)查詢的許可證。
- 1IBM Web服務(wù)安全解決方案
- 2OA軟件既是企業(yè)業(yè)務(wù)管理平臺(tái),又是溝通交流的平臺(tái)
- 3Sun四處游說(shuō) 要加入WS-I組織董事會(huì)
- 4泛普軟件在打造中國(guó)第一企業(yè)云在線協(xié)同管理平臺(tái)
- 5泛普OA辦公系統(tǒng)在上海發(fā)布項(xiàng)目管理軟件系統(tǒng)價(jià)值
- 6麥肯錫電子商務(wù)論叢-許網(wǎng)絡(luò)策略聯(lián)盟一個(gè)未來(lái)
- 7泛普O辦公自動(dòng)化軟件系統(tǒng)培訓(xùn)管理模塊圖
- 8互聯(lián)時(shí)代的上海OA
- 9聯(lián)合國(guó)《2003 年電子商務(wù)與發(fā)展報(bào)告》
- 10定制化OA辦公軟件前途如何?
- 11數(shù)據(jù)集市:數(shù)據(jù)庫(kù)的基礎(chǔ)之一(by AMT 胡鵬)
- 12電子商務(wù)中物流服務(wù)內(nèi)容分析
- 13機(jī)構(gòu)上海OA的實(shí)務(wù)指引
- 14“高管”走了 企業(yè)怎么辦?
- 15綜述:Google唱生日歌 重裝上陣為生存而戰(zhàn)
- 16Web服務(wù)器安全指南
- 17Web服務(wù)會(huì)對(duì)黑客的Dos攻擊提供幫助
- 18IBM推出多項(xiàng)Websphere及DB2 力薦網(wǎng)絡(luò)服務(wù)
- 19“管理信息化熱點(diǎn)問(wèn)題討論”之八:上海OA很好,但到底如何實(shí)現(xiàn)(by AMT 孔祥云 徐家?。?
- 20PayCircle公布Web服務(wù)移動(dòng)結(jié)算標(biāo)準(zhǔn)
- 21用專家網(wǎng)絡(luò)進(jìn)行隱性上海OA
- 22為你的網(wǎng)絡(luò)服務(wù)制作文檔
- 23上海OA和信息技術(shù)有什么關(guān)系?(by AMT 仲英豪編譯)
- 24把.Net整合進(jìn)其他平臺(tái)
- 25用上海OA思想建設(shè)企業(yè)競(jìng)爭(zhēng)情報(bào)——通過(guò)信息綜合利用實(shí)現(xiàn)企業(yè)競(jìng)爭(zhēng)智能(王振強(qiáng))
- 26上海OA的四個(gè)層面
- 27微軟觸角伸至網(wǎng)絡(luò)服務(wù) 軟件業(yè)同行視為最大勁敵
- 28企業(yè)技術(shù)官員關(guān)注數(shù)據(jù)安全與交換問(wèn)題
- 29亞馬遜免費(fèi)提供技術(shù) 讓開店者創(chuàng)造自有網(wǎng)絡(luò)商店
- 30關(guān)于安全的建議:對(duì)投入使用的XML Web Services禁用HTTP-GET和HTTP-POST協(xié)議
成都公司:成都市成華區(qū)建設(shè)南路160號(hào)1層9號(hào)
重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓
版權(quán)所有:泛普軟件 渝ICP備14008431號(hào)-2 渝公網(wǎng)安備50011202501700號(hào) 咨詢電話:400-8352-114