監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價咨詢管理系統(tǒng) | 工程設計管理系統(tǒng) | 甲方項目管理系統(tǒng) | 簽約案例 | 客戶案例 | 在線試用
X 關閉

使用Visual Basic .NET訪問Google的Web服務

申請免費試用、咨詢電話:400-8352-114

AMTeam.org

使用Visual Basic .NET訪問Google的Web服務

學習如何從 Visual Basic .NET Windows 前端訪問 Google 的 Web API 服務。本文說明如何調(diào)用 SOAP Web 服務、執(zhí)行 Google 搜索、訪問 Google 緩存中的頁面,以及調(diào)用 Google 的拼寫檢查器。

從 MSDN Code Center(英文)下載 VBGoogleDemo.exe。

Web 服務真酷

Web 服務(英文)方興未艾,是最激動人心的技術,正對 Internet 和商業(yè)產(chǎn)生巨大的影響。使用 Web 服務可以以常規(guī)方式開展業(yè)務,而將 Internet 作為傳輸工具,通過防火墻執(zhí)行遠程過程調(diào)用。Google 是提供公共 Web 服務的先驅(qū)之一,允許任何開發(fā)人員訪問 Google 的搜索、緩存和拼寫檢查服務。Visual Studio .NET 簡化了訪問 Google Web API 服務各種功能的過程。

示例窗體

圖 1 顯示了示例窗體的界面。它包含一個文本框,用于輸入 Google 許可證密鑰(請參閱補充說明“如何獲取 Google Web API 工具包和許可證密鑰”),還包含三個區(qū)域用于測試三種 Google 功能。在第一個區(qū)域中輸入搜索文本,將返回結果的數(shù)目。在第二個區(qū)域中輸入 Web 站點,將返回 Google 緩存中頁面的大小。在第三個區(qū)域中調(diào)用 Google 拼寫檢查功能,將返回檢查值。

圖 1:正在運行的窗體


過程

了解窗體的功能后,讓我們來看看對窗體進行編碼的步驟。主要包括四個步驟:

引用 Web 服務
創(chuàng)建執(zhí)行搜索的功能
創(chuàng)建檢查緩存大小的功能
創(chuàng)建調(diào)用拼寫檢查的功能
引用 Google Web 服務
引用 Google Web 服務的步驟如下:

創(chuàng)建新的 Windows Forms(Windows 窗體)項目。

右鍵單擊該項目。

選擇 Add Web Reference(添加 Web 引用)。

注意:Add Web Reference(添加 Web 引用)選項與 Visual Basic 6 中的 Add Reference(添加引用)類似,不同之處在于,現(xiàn)在您可以訪問位于不同網(wǎng)絡上的 XML Web service,而不是訪問 COM 組件的所有方法。優(yōu)點在于,這種訪問的類型是確定的,而且可以像觸發(fā)任何本地對象一樣觸發(fā)智能感知。

在 Address(地址)文本框中,鍵入 Web 服務描述的位置 (
http://api.google.com/GoogleSearch.wsdl)。

單擊 Add Reference(添加引用)按鈕,導入 Web 服務定義。

導入定義后,轉到 Solution Explorer(解決方案資源管理器),然后打開樹上的 Web References(Web 引用)節(jié)點。

右鍵單擊 Google 引用并選擇 Rename(重命名),重命名引用。

拖動上面顯示的窗體。

為每個按鈕添加代碼。雙擊每個按鈕(與在 Visual Basic 6 中一樣),即可訪問觸發(fā)單擊事件時運行的方法。讓我們依次看看各個按鈕。

執(zhí)行 Google 搜索

查看列表 1 中 btnSearch_Click 方法的代碼,我們可以看到創(chuàng)建了一個新的 GoogleSearchService 對象。在下一行中,創(chuàng)建了一個新的 GoogleSearchResult 對象,并且使用了在一行中聲明和創(chuàng)建對象的 Visual Basic .NET 新功能。在 Visual Basic .NET 中,以下兩段代碼是等效的:

Dim x As String = "Hello"

Dim x As String
x = "Hello"

創(chuàng)建 result 對象(通過向搜索對象傳遞 Google 許可證密鑰、搜索文本和其他參數(shù)創(chuàng)建)后,使用 estimatedTotalResultsCount 屬性填寫標簽。在四行代碼中,調(diào)用了一個 Web 范圍內(nèi)的過程,執(zhí)行了一個 Google 搜索,并發(fā)送了結果的數(shù)目。

本示例簡單說明了如何使用搜索服務。有關搜索請求的參數(shù)和返回數(shù)據(jù)的詳細信息,請參閱 Google 的參考文檔。

' 創(chuàng)建 Google 搜索對象。
Dim s As New Google.GoogleSearchService()
' 調(diào)用搜索方法。
Dim r As Google.GoogleSearchResult =
   s.doGoogleSearch(txtLicenseKey.Text, txtSearchTerm.Text, 0, 1, _
   False, "", False, "", "", "")
' 提取并顯示估計的搜索結果的數(shù)目。
Dim estResults As Integer = r.estimatedTotalResultsCount
lblSearchResults.Text = CStr(estResults)
列表 1:btnSearch_Click 方法

獲取 Web 頁面的大小

如列表 2 所示,獲取 Google 服務器上緩存的 Web 頁面的大小很容易。這里調(diào)用了 doGetCachedPage 方法,并將其指定給字節(jié)數(shù)組,然后由數(shù)組提供其長度。

' 創(chuàng)建 Google 搜索對象
Dim s As New Google.GoogleSearchService()
' 調(diào)用 doGetCachedPage 方法并獲取緩存字節(jié)
Dim bytes() As System.Byte = _
     s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
' 顯示緩存頁面的長度
lblCacheResults.Text = CStr(bytes.Length)
列表 2:btnCache_Click 方法

執(zhí)行拼寫檢查

最后一種 Google 方法調(diào)用 Google 引擎的拼寫檢查功能。調(diào)用了 GoogleSearchService 對象上的 doSpellingSuggestion 方法,如果獲得結果,我們就簡單地顯示這些結果。

' 創(chuàng)建 Google 搜索對象
Dim s As New Google.GoogleSearchService()
' 請求拼寫建議
Dim suggestion As String = _
     s.doSpellingSuggestion(txtLicenseKey.Text, txtSpell.Text)
' 顯示建議(如果有)
If suggestion Is Nothing Then
     lblSpellResults.Text = "<無建議>"
Else
     lblSpellResults.Text = suggestion
End If
列表 3:btnSpell_Click 方法

有關異常處理的一點說明

下載的代碼將所有功能都包含在 Try...Catch 塊中(參見列表 4)。使用此塊可以捕獲從 SOAP Web 服務中返回的任何錯誤,并在消息框中顯示這些錯誤。最常見的錯誤通常會在忘記輸入許可證密鑰時出現(xiàn)。要獲取許可證密鑰,請參閱如何獲取工具包和許可證密鑰。

' 創(chuàng)建 Google 搜索對象
Dim s As New Google.GoogleSearchService()
Try
    ' 調(diào)用 doGetCachedPage 方法并獲取緩存字節(jié)
    Dim bytes() As System.Byte = _
        s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
    ' 顯示緩存頁面的長度
    lblCacheResults.Text = CStr(bytes.Length)
Catch ex As System.Web.Services.Protocols.SoapException
        MsgBox(ex.Message)
End Try
列表 4:包含異常處理的 btnCache_Click 方法

小結

Visual Basic .NET 提供了一種在 Web 上訪問 Web 服務的簡單方法。將這種功能添加到您的“智囊”中,可以獲得一種新功能 - 正如添加 COM 對象和 ActiveX 控件能夠為 Visual Basic 6 應用程序添加新功能一樣。您還可以嘗試將 Google 的拼寫檢查功能添加到基于 Web 的消息板中,或者嘗試自動監(jiān)控 Web 以獲得特定問題的最新信息。要獲得更多靈感,還可以搜索 Web(嘗試搜索“VB Google API applications”)查找其他 VISUAL BASIC 開發(fā)人員使用 Google Web API 開發(fā)出來的應用程序。希望大家開心!

如何獲取工具包和許可證密鑰

要訪問 Google Web API 工具包并請求許可證密鑰,請訪問
http://www.google.com/apis/(英文)并按照其說明進行操作。您可以下載開發(fā)人員工具包并創(chuàng)建自己的 Google 帳戶,經(jīng)過電子郵件確認后,它會為您提供一個每天可以進行 1,000 次免費查詢的許可證。

發(fā)布:2007-03-25 10:36    編輯:泛普軟件 · xiaona    [打印此頁]    [關閉]
相關文章:
上海OA系統(tǒng)
聯(lián)系方式

成都公司:成都市成華區(qū)建設南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢