当前位置:中文知识网 → 站长学院 → 网络编程 → Js/Ajax → 使用 Google Ajax Search API
使用 Google Ajax Search API
发出异步请求并不意味着只是与您自己的服务器端程序交互。其实也可以与一些公共 API,例如来自 Google 或 Amazon 的 API 进行通信,从而为 Web 应用程序增加您自己的脚本和服务器端程序所不能提供的更多功能。在本文中,Brett McLaughlin 教您如何向公共 API,例如 Google 提供的 API 发出请求并接收其响应。
到目前为止,这个系列只涉及到客户机 Web 页面向服务器端脚本和程序发出请求的情况。这就是大约 80% 到 90% 的 Ajax 应用程序(使用 XMLHttpRequest 对象的异步 Web 应用程序)的工作方式。然而,这种方法有很严重的局限性:您将受到自己才智和编程技能的限制,就算不是这样,最起码也要受到公司团队中的程序员的才智和编程技能的限制。
有时候,您确实想实现一些功能,但是又不具备实现该目标所需的技术知识,几乎总能遇到这种情况。也许您不知道某些语法,也许不知道如何找出适当的算法。还有些时候,您手头上可能没有用于满足需求的数据或资源(无论是人力资源还是数据资源)。在这些情况下,也许您会想:"唉,要是我能使用其他人的代码该多好啊!"本文就是要解决这个问题。
开放源码脚本和程序
在论述本文的实际内容(在 Web 应用程序中使用公共 API)之前,有必要说一说开放源码脚本和程序。浅显地讲,开放源码 是用于描述可以在一定程度上免费在您自己的应用程序中使用和重用的代码的一个术语。相关链接请参阅 参考资料。简言之,您可以获取别人编写的开放源码,然后将其放入自己的环境中,而不必为之付费,也不会受到(很多)限制。
如果使用开放源码,那么有时候需要为应用程序增加额外的文档,或者将您对开放源码程序或脚本作出的更改反馈给社区。不管如何使用这种程序,最终结果就是,您可以使用这么一块代码:该代码是您不必亲自编写的,或者,如果没有大量的帮助和资源的话,就无法编写该代码,而您手头上并没有这些资源。诸如 Apache 之类的项目为利用他人完成的工作提供了方便 -- 不必担心,他们还希望您使用他们的作品呢!
使用公共 API
很多时候,您会遇到非技术问题。您不需要帮助也能编写某个脚本或某段代码,然而,手头上却没有所需的数据或资源。在这些情况下,即使有了教程或者开放源码脚本,也还需要更多的东西。例如,考虑在 Web 页面上增加一个搜索引擎的情况。这样做的前提是您已经有了要搜索的数据 -- 但是,如果要搜索您公司或组织以外的数据,那么该怎么办呢?
如果不是因为技术上的原因,而是因为数据而受到限制,那么,一个公共 API 也许可以帮助您解决问题。公共 API 允许使用其他人的服务器上的程序并使用其他人的数据。通常,API 本身只定义如何与该程序交互。例如,通过一个用于 Google 搜索引擎的公共 API 可以发出搜索请求,但是实际上是由 Google 的代码搜索 Google 的数据,然后将结果返回给您的程序。您不仅可以利用他人在编写这些程序方面的技能,还可以利用远远超过您自己公司所能支持的数据。
使用 Google Ajax Search API 的准备工作
毋庸置疑,Google 仍然是在线时代极其重要的应用。上至老奶奶,下至四岁小孩,即使不理解网上的其它东西是怎么回事,也一定知道 Google。Google 运行着如此流行、如此有用的搜索引擎,并且致力于提供(几乎全部)免费的服务,所以毫不奇怪,它能提供可以在您自己的程序中使用的公共 API。在本节中,您将完成使用 Google API 的准备工作,并清楚地了解如何与 Google 进行异步应用程序会话。
从 Google 获取开发者密钥
本文着重讨论 Google 的 Ajax Search API。通过访问 Google Ajax Search API 主页(如图 1 所示),可以找到关于这个 API 的更多信息。

图 1. Google 的 Ajax Search API 页面
第一步是单击 Sign up for a Google AJAX Search API key 链接。这时会进入另一个页面,在此页面上可以登记使用这个 Google API。您需要接受所有使用条款(我认为所有条款都没有恶意)并提供您的应用程序所在 Web 站点的 URL(如图 2 所示)。

图 2. 登记使用 Google 的 Ajax Search API
阅读完协议并勾选了复选框之后,输入 URL,单击 Generate API Key,等待一二秒钟。此时必须登录 Google,或者创建一个帐户。这是一个相当标准的过程,您应该可以自己完成。完成上述操作后,可以看到一个回复页面,其中给出了一个非常长的密钥,并确认您的 URL,甚至还给出一个示例页面。这个密钥看上去类似于以下形式:
Ajax技术 Google工具和服务专题
到目前为止,这个系列只涉及到客户机 Web 页面向服务器端脚本和程序发出请求的情况。这就是大约 80% 到 90% 的 Ajax 应用程序(使用 XMLHttpRequest 对象的异步 Web 应用程序)的工作方式。然而,这种方法有很严重的局限性:您将受到自己才智和编程技能的限制,就算不是这样,最起码也要受到公司团队中的程序员的才智和编程技能的限制。
有时候,您确实想实现一些功能,但是又不具备实现该目标所需的技术知识,几乎总能遇到这种情况。也许您不知道某些语法,也许不知道如何找出适当的算法。还有些时候,您手头上可能没有用于满足需求的数据或资源(无论是人力资源还是数据资源)。在这些情况下,也许您会想:"唉,要是我能使用其他人的代码该多好啊!"本文就是要解决这个问题。
开放源码脚本和程序
在论述本文的实际内容(在 Web 应用程序中使用公共 API)之前,有必要说一说开放源码脚本和程序。浅显地讲,开放源码 是用于描述可以在一定程度上免费在您自己的应用程序中使用和重用的代码的一个术语。相关链接请参阅 参考资料。简言之,您可以获取别人编写的开放源码,然后将其放入自己的环境中,而不必为之付费,也不会受到(很多)限制。
如果使用开放源码,那么有时候需要为应用程序增加额外的文档,或者将您对开放源码程序或脚本作出的更改反馈给社区。不管如何使用这种程序,最终结果就是,您可以使用这么一块代码:该代码是您不必亲自编写的,或者,如果没有大量的帮助和资源的话,就无法编写该代码,而您手头上并没有这些资源。诸如 Apache 之类的项目为利用他人完成的工作提供了方便 -- 不必担心,他们还希望您使用他们的作品呢!
使用公共 API
很多时候,您会遇到非技术问题。您不需要帮助也能编写某个脚本或某段代码,然而,手头上却没有所需的数据或资源。在这些情况下,即使有了教程或者开放源码脚本,也还需要更多的东西。例如,考虑在 Web 页面上增加一个搜索引擎的情况。这样做的前提是您已经有了要搜索的数据 -- 但是,如果要搜索您公司或组织以外的数据,那么该怎么办呢?
如果不是因为技术上的原因,而是因为数据而受到限制,那么,一个公共 API 也许可以帮助您解决问题。公共 API 允许使用其他人的服务器上的程序并使用其他人的数据。通常,API 本身只定义如何与该程序交互。例如,通过一个用于 Google 搜索引擎的公共 API 可以发出搜索请求,但是实际上是由 Google 的代码搜索 Google 的数据,然后将结果返回给您的程序。您不仅可以利用他人在编写这些程序方面的技能,还可以利用远远超过您自己公司所能支持的数据。
使用 Google Ajax Search API 的准备工作
毋庸置疑,Google 仍然是在线时代极其重要的应用。上至老奶奶,下至四岁小孩,即使不理解网上的其它东西是怎么回事,也一定知道 Google。Google 运行着如此流行、如此有用的搜索引擎,并且致力于提供(几乎全部)免费的服务,所以毫不奇怪,它能提供可以在您自己的程序中使用的公共 API。在本节中,您将完成使用 Google API 的准备工作,并清楚地了解如何与 Google 进行异步应用程序会话。
从 Google 获取开发者密钥
本文着重讨论 Google 的 Ajax Search API。通过访问 Google Ajax Search API 主页(如图 1 所示),可以找到关于这个 API 的更多信息。

图 1. Google 的 Ajax Search API 页面
第一步是单击 Sign up for a Google AJAX Search API key 链接。这时会进入另一个页面,在此页面上可以登记使用这个 Google API。您需要接受所有使用条款(我认为所有条款都没有恶意)并提供您的应用程序所在 Web 站点的 URL(如图 2 所示)。

图 2. 登记使用 Google 的 Ajax Search API
阅读完协议并勾选了复选框之后,输入 URL,单击 Generate API Key,等待一二秒钟。此时必须登录 Google,或者创建一个帐户。这是一个相当标准的过程,您应该可以自己完成。完成上述操作后,可以看到一个回复页面,其中给出了一个非常长的密钥,并确认您的 URL,甚至还给出一个示例页面。这个密钥看上去类似于以下形式:
ABQIAAAAjtuhyCXrSHOFSz7zK0f8phSA9fWLQO3TbB2M9BRePlYkXeAu8lHeUgfgRs0eIWUaXg
Ajax技术 Google工具和服务专题


