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

來源:互聯網
上載者:User
google|visual|web|訪問 使用 Visual Basic .NET 訪問 Google 的 Web 服務

學習如何從 Visual Basic .NET Windows 前端訪問 Google 的 Web API 服務。本文說明如何調用 SOAP Web 服務、執行 Google 搜尋、訪問 Google 緩衝中的頁面,以及調用 Google 的拼字檢查器。

從 MSDN Code Center(http://msdn.microsoft.com/downloads/sample.asp?url=/msdn-files/026/002/863/MsdnCompositeDoc.xml)。(英文)下載 VBGoogleDemo.exe

下載樣本(http://download.microsoft.com/download/VisualStudioNET/doc_samp/7.0/NT5XP/EN-US/VBGoogleDemo.exe)

目錄
Web 服務真酷
樣本表單
過程
有關異常處理的一點說明
小結
如何擷取工具包和許可證密鑰
Web 服務真酷
Web 服務(英文)方興未艾,是最激動人心的技術,正對 Internet 和商業產生巨大的影響。使用 Web 服務可以以常規方式開展業務,而將 Internet 作為傳輸工具,通過防火牆執行遠端程序呼叫。Google 是提供公用 Web 服務的先驅之一,允許任何開發人員訪問 Google 的搜尋、緩衝和拼字檢查服務。Visual Studio .NET 簡化了訪問 Google Web API 服務各種功能的過程。

樣本表單
圖 1 顯示了樣本表單的介面。它包含一個文字框,用於輸入 Google 許可證密鑰(請參閱補充說明“如何擷取 Google Web API 工具包和許可證密鑰”),還包含三個地區用於測試三種 Google 功能。在第一個地區中輸入搜尋文本,將返回結果的數目。在第二個地區中輸入 Web 網站,將返回 Google 緩衝中頁面的大小。在第三個地區中調用 Google 拼字檢查功能,將返回檢查值。



圖 1:正在啟動並執行表單

過程
瞭解表單的功能後,讓我們來看看對表單進行編碼的步驟。主要包括四個步驟:

引用 Web 服務
建立執行搜尋的功能
建立檢查緩衝大小的功能
建立調用拼字檢查的功能
引用 Google Web 服務
引用 Google Web 服務的步驟如下:

建立新的 Windows Forms(Windows 表單)項目。
按右鍵該項目。
選擇 Add Web Reference(添加 Web 參考)。
注意:Add Web Reference(添加 Web 參考)選項與 Visual Basic 6 中的 Add Reference(添加引用)類似,不同之處在於,現在您可以訪問位於不同網路上的 XML Web service,而不是訪問 COM 組件的所有方法。優點在於,這種訪問的類型是確定的,而且可以像觸發任何本機物件一樣觸發智能感知。
在 Address(地址)文字框中,鍵入 Web 服務描述的位置 (http://api.google.com/GoogleSearch.wsdl)。
單擊 Add Reference(添加引用)按鈕,匯入 Web 服務定義。
匯入定義後,轉到 Solution Explorer(方案總管),然後開啟樹上的 Web References(Web 參考)節點。
按右鍵 Google 引用並選擇 Rename(重新命名),重新命名引用。
拖動上面顯示的表單。
為每個按鈕添加代碼。雙擊每個按鈕(與在 Visual Basic 6 中一樣),即可訪問觸發單擊事件時啟動並執行方法。讓我們依次看看各個按鈕。

執行 Google 搜尋
查看列表 1 中 btnSearch_Click 方法的代碼,我們可以看到建立了一個新的 GoogleSearchService 對象。在下一行中,建立了一個新的 GoogleSearchResult 對象,並且使用了在一行中聲明和建立對象的 Visual Basic .NET 新功能。在 Visual Basic .NET 中,以下兩段代碼是等效的:

Dim x As String = "Hello"


Dim x As String
x = "Hello"
建立 result 對象(通過向搜尋對象傳遞 Google 許可證密鑰、搜尋文本和其他參數建立)後,使用 estimatedTotalResultsCount 屬性填寫標籤。在四行代碼中,調用了一個 Web 範圍內的過程,執行了一個 Google 搜尋,並發送了結果的數目。

本樣本簡單說明了如何使用搜尋服務。有關搜尋請求的參數和返回資料的詳細資料,請參閱 Google 的參考文檔。

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

擷取 Web 頁面的大小
如列表 2 所示,擷取 Google 伺服器上緩衝的 Web 頁面的大小很容易。這裡調用了 doGetCachedPage 方法,並將其指定給位元組數組,然後由數組提供其長度。

' 建立 Google 搜尋對象
Dim s As New Google.GoogleSearchService()
' 調用 doGetCachedPage 方法並擷取緩衝位元組
Dim bytes() As System.Byte = _
     s.doGetCachedPage(txtLicenseKey.Text, txtCachePage.Text)
' 顯示快取頁面面的長度
lblCacheResults.Text = CStr(bytes.Length)
列表 2:btnCache_Click 方法

執行拼字檢查
最後一種 Google 方法調用 Google 引擎的拼字檢查功能。調用了 GoogleSearchService 對象上的 doSpellingSuggestion 方法,如果獲得結果,我們就簡單地顯示這些結果。

' 建立 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 服務中返回的任何錯誤,並在訊息框中顯示這些錯誤。最常見的錯誤通常會在忘記輸入許可證密鑰時出現。要擷取許可證密鑰,請參閱如何擷取工具包和許可證密鑰。

' 建立 Google 搜尋對象
Dim s As New Google.GoogleSearchService()
Try
    ' 調用 doGetCachedPage 方法並擷取緩衝位元組
    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 的訊息板中,或者嘗試自動監控 Web 以獲得特定問題的最新資訊。要獲得更多靈感,還可以搜尋 Web(嘗試搜尋“VB Google API applications”)尋找其他 VISUAL BASIC 開發人員使用 Google Web API 開發出來的應用程式。希望大家開心!

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


相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。