🛩️8. 实现
作者:Bryan Cooksey 发布日期:2014年4月22日
我们成功了!至少在初级水平上,我们现在已经了解了关于API的一切。那么,有了这些获得的知识,我们如何将其应用到实际中呢?在本章中,我们将探讨如何将知识转化为可工作的软件。
从计划到产品
正如我们在本课程中所看到的,API交互涉及两个方面。然而,在我们谈论代码级别时,实际上是指我们需要两个实现API的程序。当一个程序遵循API的规则时,它就实现了API。在我们比萨店的例子中,一个能够使用正确的头部和数据格式向/orders端点发出请求的客户端将是一个实现了比萨店API的客户端。
服务器程序是发布API的公司的责任。在第六章中,我们了解了设计API的过程。计划之后,公司的下一步是通过编写遵循设计的软件来实现他们的一面。最后一步是将生成的程序放在服务器上。
除了服务器软件,公司还会发布API的文档。文档是一个或多个文档,通常是网页或PDF,用于解释如何使用API。它包括诸如使用什么身份验证方案、哪些端点可用以及数据格式如何等信息。它还可能包括示例响应、代码片段和一个交互式控制台,用于测试可用的端点。文档非常重要,因为它充当了构建客户端的指南。有兴趣使用API的人会去文档中了解API的工作原理。
有了文档,您可以通过多种方式开始使用API作为客户端。现在让我们来看看其中的三种方式。
HTTP客户端
使用HTTP客户端是开始使用API的一种简单方法,它是一个通用程序,可以让您快速构建HTTP请求进行测试。您指定URL、头部和正文,程序会将其正确格式化后发送给服务器。这些类型的程序有各种各样的版本,包括Web应用程序、桌面应用程序、Web浏览器扩展等。

通用HTTP客户端的好处是您不需要知道如何编程才能使用它。通过本课程所学到的技能,您现在可以阅读公司的API文档,并找出需要进行的请求以获取所需的数据。这种学习曲线较小的特点使通用客户端非常适合探索和快速完成一次性任务。
然而,这种方法也有一些缺点。首先,您通常无法保存您的工作。当您关闭程序后,您所做的请求将被遗忘,下次需要时您必须重新构建它们。另一个缺点是,您通常不能对返回的数据做太多操作,除了查看它。最多,您可以将数据保存到文件中,然后您可以自行对其进行一些有趣的操作。
编写代码
要真正发挥API的力量,您最终需要定制的软件。这就是编程的用武之地。作为一个独立的学科,我们不打算涵盖关于软件开发的所有内容,但我们可以为编写API客户端提供一些指导。
首先,您需要熟悉一种编程语言。市面上有很多编程语言,每种都有其优点和缺点。为了简单起见,建议您选择一种解释性语言(如JavaScript、Python、PHP、Ruby等),而不是编译语言(如C或C++)。
如果您不确定选择哪种语言,一个很好的缩小选择范围的方法是找到一个您想要实现的API,并查看该公司是否提供客户端库(Library)。库是API所有者发布的已经实现其API客户端部分的代码。有时库可以单独下载,或者它会捆绑在SDK(软件开发工具包)中。使用库可以节省时间,因为您无需阅读API文档和构建原始的HTTP请求,只需复制粘贴几行代码,就可以拥有一个可工作的客户端。
在选择了一种语言之后,您需要决定代码将在哪里运行。如果您正在自动化自己的任务,从工作计算机运行软件可能是可以接受的。更常见的情况是,您希望在更适合作为Web服务器的计算机上运行代码。有很多解决方案可供选择,包括在共享主机环境中运行代码、云服务(如亚马逊网络服务)或者在您自己的物理服务器上运行代码。
第三个重要的决定是确定您将如何处理数据。将结果保存到文件很容易,但如果您想将数据存储到数据库中或将其发送到另一个应用程序,事情会变得更加复杂。从数据库中提取数据以发送到API也可能具有挑战性。
此时我们可以停下来提醒你不要对所有这些新信息感到过于害怕。你不应该期望在第一次尝试实现API时就了解所有的东西。请放心,有人可以帮助你(开源社区、雇佣的开发人员和潜在的项目合作伙伴),并且有很多在线资源可供学习。
一旦掌握了基础知识,软件开发的丰富领域中还有很多其他主题可以学习。目前,如果你成功学习了一种编程语言并使一个库运行起来,你应该庆祝一下。你将在充分利用API的道路上迈出坚实的一步!
试试Zapier吧
如果编码超出了你当前的技能范围或时间限制,我们知道一个很棒的工具可以让你轻松地与API进行交互。好吧,你可能已经预料到了:它就是Zapier!我们的开发者平台提供了一种方式,让你实现一个API,然后在Zapier上以应用的形式与之交互。通过点击按钮和填写表单,你可以实现几乎任何你想要的API。
使用开发者平台的便利之处在于我们已经为你做了很多编程工作。Zapier已经编写了请求代码,你只需要填写细节即可。使用这个平台有点像使用一个通用的HTTP客户端;你告诉我们一些关于端点的信息,我们会完成其余的工作。额外的好处是,一旦你让Zapier与一个API进行通信,你就有很多选项可以处理返回的数据。此外,如果你遇到困难,欢迎向友好的支持团队寻求帮助,我们有准备好帮助你的API专家。
第8章回顾
在本章中,我们讨论了API设计如何成为可工作的软件。我们讨论了你可以开始使用API的方式。
我们学到的关键词是:
实现(Implement):编写符合API规则的软件
文档(Documentation):解释API规则的网页、PDF等
库(Library):API发布者发布的实现客户端部分的代码
在工作中使用API的想法
思考一下在工作中你可能如何使用API。为了激发灵感,这里有一些想法:
你需要一些来自你使用的SaaS(软件即服务)应用程序的快速统计数据。启动一个HTTP客户端进行几次请求可能是获取所需信息的快速方式。
你有一个需要完成的劳动密集型任务,没有时间让开发者朋友帮忙。获取一个客户端库并创建一个快速程序可能会节省大量时间。
你真的想要在两个SaaS应用程序之间持续移动数据,但你没有资源从头开始为每个应用程序构建一个客户端,也没有一个好的地方来运行那些代码。使用Zapier开发者平台可能是一个低成本的方式来连接应用程序。
结论
在这门课程中,我们走了很长的路。我们从"什么是客户端?"这样的问题开始,以构建客户端的想法结束。即使你决定不尝试实现API,我们希望你在谈论API时感到自在。你现在对API是什么、它的功能是什么以及如何利用它来使你的业务受益有了一定的了解。
也许你经营一家公司,并且认识到提供API给你的客户的价值。或者你经常做一些繁琐、耗时的任务,你很高兴能够自动化处理。无论哪种情况,我们希望你觉得你所获得的知识是有价值的。请与那些可能从中受益的人分享这门课程,并传播API的伟大之处!
最后更新于