.NET 客户端库使用入门

Jeff Fisher,Google Data API 团队
2007 年 8 月

简介

Google Data API 解决方案
图 1:Google Data API 解决方案

对于许多开发者来说,新项目中最困难的部分是开始阶段,即安装新的软件包、配置开发环境和学习新的库。在本文中,我汇总了一些分步说明,介绍了如何使用 Visual Studio 2005 for Windows 或 Mono for Linux 及其他 Unix 操作系统开始使用 .NET 客户端库。希望这能帮助您节省一些入门时间,让您快速开始使用一些代码。

Visual Studio 2008

如果您尚未安装 Visual Studio 2008,不妨考虑使用 Visual C# 2008 Express Edition,这是 Visual Studio 的免费版本,可让您使用 .NET 客户端库。

设置环境

  1. http://code.google.com/p/google-gdata/downloads/list 下载客户端库的最新 MSI 版本。
  2. 运行下载的 MSI 文件以安装软件包。默认情况下,它将安装到“C:\Program Files\Google\Google Data API SDK\”中。本文中的后续示例将假定您已将客户端库安装到此位置。
  3. 在“开始”菜单中的“Google Data API SDK”文件夹中打开名为“Google Data API SDK”的解决方案文件。

编译和运行示例

  1. 验证运行“Build > Build Solution”是否完成且没有出现任何错误。
  2. 如需创建调试 build,请依次前往“Build > Configuration Manager”,然后选择“Debug”作为有效解决方案配置。然后选择“Build > Build Solution”。
  3. 您刚刚编译的二进制文件和 DLL 文件位于“C:\Program Files\Google\Google Data API SDK\Sources\Samples\”中。例如,您可以执行“C:\Program Files\Google\Google Data API SDK\Sources\Samples\calendar\bin\Debug\Calendar.exe”来运行日历示例应用。此外,还有一些指向这些示例的“开始”菜单快捷方式。

开发自己的应用

如果您想在 MSI 文件提供的解决方案文件之外的项目中进行开发,则需要将客户端库 DLL 文件添加为引用路径。

  1. 在 Google API SDK 解决方案之外创建或打开项目。
  2. 从“项目”菜单中选择“添加参考”。
  3. 点击“浏览”标签页。
  4. 前往 SDK 中的 Redist 目录:“C:\Program Files\Google\Google Data API SDK\Redist”。
  5. 选择代码将使用的 DLL 文件。大多数项目都需要 Google.GData.Extensions.dll 和 Google.GData.Client.dll,以及您在应用中使用的 Google 服务的特定 DLL 文件。

注意:还有适用于移动设备上客户端库的解决方案文件。默认情况下,它位于“C:\Program Files\Google\Google Data API SDK\Sources\Library\VS2005.mobile”中。此解决方案只会编译客户端库的 DLL 文件。

运行 NUnit 测试

如果您对客户端库进行了任何更改,或者计划为其做出贡献,请务必确保相应的 NUnit 测试通过。如果您打算使用客户端库而不进行修改,通常无需运行它们。

  1. http://www.nunit.org/index.php?p=download 下载 NUnit 的 .NET 2.0 MSI 文件版本。
  2. 运行 MSI 文件来安装 NUnit。默认安装位置类似于“C:\Program Files\NUnit 2.4.8”。您可能希望将其更改为“C:\Program Files\NUnit”之类的路径,以便日后升级 NUnit 时无需更改 Visual Studio 项目中的路径。
  3. 前往“C:\Program Files\Google\Google Data API SDK\Sources\Library\VS2005”目录,然后打开名为“Google Data APIs”的解决方案文件。 由于这是 Visual Studio 2005 项目文件,因此您会看到转换向导。您可以点击提示继续操作,也可以直接点击“完成”按钮。它应该会显示转化日志,您可以忽略该日志。
  4. 现在,必须将 NUnit 添加为引用路径。在右侧的解决方案资源管理器中,右键点击“unittests”项目,然后选择“属性”。现在,点击打开的窗口中的“参考路径”标签页。输入 NUnit 安装的“bin”子目录的位置作为参考路径,然后点击“添加文件夹”。例如,如果 NUnit 安装到了“C:\Program Files\NUnit\”,则应输入“C:\Program Files\NUnit\bin”。请务必先保存此更改,然后再继续。
  5. 按照编译和运行示例中列出的步骤重建客户端库和单元测试。
  6. 将“C:\Program Files\Google\Google Data API SDK\Sources\Library\unittests\”中的“unittests.dll.config”文件复制到调试 build 目录“C:\Program Files\Google\Google Data API SDK\Source\Library\VS2005\unittests\bin\Debug\”。请记得修改该文件,以纳入您要运行的测试的相应信息。例如,Base 需要 API 密钥,而 Calendar 需要用户名和密码。建议使用没有任何实际数据的测试账号,以免信息被单元测试删除。
  7. 从“开始”菜单中打开 NUnit。
  8. 依次前往“File > Open Project”,然后从“C:\Program Files\Google\Google Data API SDK\Source\Library\VS2005\unittests\bin\Debug\"中选择“unittests.dll”文件。
  9. 运行您感兴趣的单元测试。请注意,某些测试需要设置 unittests.dll.config 中的参数才能正常运行。如果您针对某些服务运行压力测试,您的测试账号可能会被标记为生成垃圾内容,并且在未遇到 CAPTCHA 挑战的情况下,无法以编程方式向 Google 服务器提交内容。

单声道

Mono 是一个开源项目,可让您在 Linux、Solaris、Mac OS X、Windows 和 Unix 上运行 .NET 客户端和服务器应用。对于想要在上述平台之一上工作的开发者,我们提供单独的客户端库 ZIP 文件。

设置环境

  1. http://code.google.com/p/google-gdata/downloads/list 下载客户端库的最新 ZIP 文件版本
  2. 解压缩到本地目录(例如“/scratch/gdata.NET”)
  3. 使用发行版的软件包管理系统安装 Mono。 或者,您也可以从 http://www.mono-project.com 下载。
  4. 在某些发行版中,您必须确保 nunit.framework.dll 文件已正确链接到 Mono 库。如果 Mono 安装到“/usr/lib/mono”,请确保“/usr/lib/mono/1.0”和“/usr/lib/mono/2.0”中存在 nunit.framework.dll 的符号链接(应安装在“/usr/lib/mono/gac/nunit.framework/<someversionstring>/nunit.framework.dll”中)。

编译和运行示例

  1. 假设您已将客户端库安装到“/scratch/gdata.NET”,请更改为“/scratch/gdata.NET/clients/cs”目录。
  2. 根据您要使用的 .NET 版本修改 Makefile。对于 .NET 1.x,请使用 CSC=mcs;对于 .NET 2.x,请使用 CSC=gmcs
  3. 运行 make 以编译库和示例应用。
  4. 如果您想将客户端库 DLL 安装到 Mono 库中,请执行 make install

开发自己的应用

如果您在编译客户端库后执行了 make install,则应该能够通过将 -r:Google.GData.Extensions.dll -r:Google.GData.Client.dll 传递给 Mono C# 编译器(同时传递对您希望使用的任何特定服务扩展 DLL 文件的引用),在自己的代码中包含这些库。

运行 NUnit 测试

  1. 将 unittests.dll.config 文件从“/scratch/gdata.NET/clients/cs/src/unittests”复制到“/scratch/gdata.NET/clients/cs/”。
  2. 修改“/scratch/gdata.NET/clients/cs/unittests.dll.config”,以包含您要运行的测试的相应信息。例如,Base 需要 API 密钥,而 Calendar 需要用户名和密码。我建议您使用没有任何实时数据的测试账号,以避免信息被单元测试删除。
  3. 编译库后,“/scratch/gdata.NET/clients/cs”中会有一个 unittests.dll 文件。将此 DLL 与您选择的 NUnit 测试管理器(nunit-console、gnunit 等)搭配使用。

总结

现在,您应该能够编译库并运行示例代码了。不过,这仅仅是开始。建议您仔细阅读客户端库的“.../clients/cs/docs”目录中的文档。您可能还想查看 .NET 客户端库开发者指南项目页面参考指南,以及 Google Data .NET 客户端库论坛

本文中提及的工具:

祝您在下一个 .NET 应用中取得成功!