使用 Visual Basic .NET 访问 Google 的 Web 服务
来源:互联网 发布:pc3000数据恢复论坛 编辑:程序博客网 时间:2024/05/20 01:37
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
学习如何从 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 次免费查询的许可证
Visual Basic .NET 访问 Google 的 Web 服务';return true">
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
使用 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 次免费查询的许可证
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
- 使用Visual Basic .NET 访问 google 的 Web 服务
- 使用 Visual Basic .NET 访问 Google 的 Web 服务(MS)
- 使用 Visual Basic .NET 访问 Google 的 Web 服务
- 演练:使用Visual Basic或Visual C#访问Web服务
- 使用 Visual Basic .NET 访问注册表
- 使用 Visual Basic .NET 访问注册表
- 演练:使用Visual Basic或Visual C#创建Web服务
- Visual Basic.NET中使用ADO访问数据库
- Visual Basic.NET中访问数据
- Visual Basic.NET访问数据方法
- 使用Visual Basic访问数据库几个注意的问题
- 使用Visual Basic访问数据库几个注意的问题
- 同时使用 Visual Basic 6 和 Visual Basic.NET 的最佳做法
- 从 Visual Basic 6.0 到 Visual Basic.NET 的转换
- 从 Visual Basic 6.0 到 Visual Basic.NET 的转换
- 从 Visual Basic 6.0 到 Visual Basic.NET 的转换
- 从 Visual Basic 6.0 到 Visual Basic.NET 的转换
- 从 Visual Basic 6.0 到 Visual Basic.NET 的转换
- VB.NET中的简单Web Service例程
- 在C#中调用VB.NET函数实例
- C#中使用Spread6.0全攻略
- 俺写的一个简单的字符串处理函数(可能会有用)
- 关于ADO.NET的一点补充----不知道是不是你想要的
- 使用 Visual Basic .NET 访问 Google 的 Web 服务
- .net平台的5个相关部分
- 使用Mobile控件
- 非官方观点:Java VS. .NET(转Java技术)
- 用ASP.NET开发Web服务的五则技巧
- 公司软件部VB组代码撰写暂行约定 probezy(转贴)
- 第二部分,BETA2操作ACCESS数据库
- 使用WINDOWS2003出问题的朋友请看
- 第三部分,BETA2操作ACCESS数据库