API介绍8:实现

第八章:实现

我们做到了!现在我们已经知道了关于API需要知道的一切...起码已经达到入门级别了。所以,有了这些必备知识以后,如何好好利用它们呢?本章,我们看看如何将知识转化为可以工作的软件。

从计划到产品

正如我们在本课程中所看到的,一个API交互包括两端。当我们在编码层次讨论这个问题的时候,我们实际要说的是我们需要两个程序来实现API。一个程序遵循了API的规定,我们就说该程序实现了API。在我们的披萨店的例子中,一个可以使用正确的头部和数据格式发送请求到 /orders 终端的客户端就是实现了披萨店API的客户端。

服务器端的程序是发布API的公司的责任。回到第6章,我们看一下设计API背后的流程。有了计划之后,公司下一步要做的就是编写遵循该设计的软件来实现他们的服务器端。最后一步是把程序放到一台服务器上。

公司会和服务器软件一起发布API的文档。文档是解释如何使用API的一个或多个文件——通常是网页或PDF。它包含这样一些信息,像使用哪种认证方案,哪些终端是有效的,代码片段,以及一个可以充当有效的终端的交互式控制台。文档很重要因为它是构建客户端的指引。对API感兴趣的人可以从这里学习API如何工作。

手头有了文档之后,作为客户端有多种方式可以开始使用API。我们现在尝试其中的三种。

HTTP客户端

一种开始使用API的简单方式是使用HTTP客户端,HTTP客户端是一种可以快速构建HTTP请求进行测试的通用程序。你指定URL、头部和主体,然后程序会以适当的格式发送到服务器。这种程序有不同的形式,包括web应用,桌面软件,浏览器扩展以及其他更多形式。


Google Chrome扩展——Dev HTTP Client的截图

通用HTTP客户端的美妙之处在于你不用写程序就可以使用。通过本课程学到的技能,你就有能力阅读公司的API文档并且确定为了获得想要的数据你需要构造什么样的请求。这种平缓的学习曲线使得在快速和一次性的任务中使用通用客户端非常棒。

然而,这个方法也有不少不利的方面。首先,通常你无法保存你的工作。当你关闭程序之后,你的请求就被忘记了,下次你需要的时候必须再次构建。另一个缺点是你通常无法对返回的数据做更多的工作,只能阅读这些数据。最好的情况下,你也只能把数据保存到一个文件中,然后是否要对它做一些有趣的事情就由你决定了。

写代码

为了真正利用API的力量,你最终需要个性化的软件。这就到了编程上场的时候了。作为一个训练课程,我们不会尝试涉及软件开发的方方面面,但是我们可以给你一些指引,告诉你写一个API客户端需要知道哪些。

首先需要通晓一门编程语言。编程语言有很多,各有自己的优势和劣势。为了简单起见,你最好选择一门解释型的语言(JavaScript,Python,PHP,Ruby或者类似的语言 ),不要选择编译型语言(C或C++)。

如果你不确定应该选择哪门语言,一个很好的缩小选择范围的方法是找一个你想实现的API,看看公司是否提供了客户端库。库是API所有者发布的已经实现了他们的API的客户端的代码。有时候库是可以供个人下载的,而且会打包成一个SDK(软件开发工具包)。使用库可以节省时间,因为你不需要阅读API文档,不需要构造原始的HTTP请求,你可以简单的拷贝粘贴几行代码然后就有了一个可以工作的客户端。

选定了语言之后,你需要确定代码要在哪里运行。如果你是要自动完成你自己的任务,在自己的工作电脑上运行软件是可以接受的。更常见的是,你可能想在更适合充当web服务器的电脑上运行代码。有很多方案可供选择,云服务(比如亚马逊云服务),甚至数据中心里你自己的物理服务器都可以。

第三个重要的决定是确定你要对这些数据做什么。把结果保存到文件中是很简单的,但是如果你想把数据保存到数据库或者发送到另一个程序,事情就变得复杂了。从数据库中取出数据发送给API也会是一个挑战。

这时候我们可以暂停一下,提醒你不要被这些新的信息吓到。当你第一次尝试的时候,不要期望了解如何实现API的一切细节。欣慰的是我们知道有人可以帮我们(开源社区,可雇用的开发者和潜在的项目合作者),而且网上有很多资源可以帮助我们学习。

当你熟悉了这些基础之后,在软件开发这个广阔的领域还有很多话题需要学习。就目前来说,如果你成功的学习了一门编程语言,获取了一个库并且让它运行起来,你就值得庆祝了。你会在充分利用API的路上走得非常好。

给Zapier一个机会

如果编程超出了你目前的技能范围,或者时间不允许,我们知道还有一个使用的工具可以让你轻松拥有和API交互的能力。好吧,你可能已经看到它了:它就是Zapier。我们的开发者平台提供了一种方式让你可以实现一个可以与之交互的API,它会作为Zapier上的一个应用运行。通过点击按钮,填写我们的表单,你就几乎可以实现你希望的任何API。

让开发者平台容易使用的秘密在于我们已经为你完成了很多编程工作。Zapier有合适的代码发送请求,你要做的就是补充细节。想像一下使用这个平台有点类似于使用一个通用的HTTP客户端;你告诉我们一些终端,然后我们完成其他的工作。额外的好处是一旦Zapier和一个API通信之后,对于如何处理返回的数据你有很多选择。而且,如果你被难住了,欢迎你联系我们友善的支持团队,那里的API专家随时准备帮助你。

结论

在本课程中我们已经有了很大的进步。我们从“什么是客户端”这样的问题开始,以如何构建他们的想法结束。及时你决定不尝试实现一个API,我们还是希望当它们出现在谈话中时你会感觉愉快。现在你已经知道什么是API,它能做什么,还有如何使用它们来让你的生意获益。

也许你在经营一家公司,并且看出了为顾客提供一个API的价值。或者你经常做令人讨厌的,花费时间的工作,你希望能够自动完成这些任务。不管情况是怎么样的,我们希望你能发现你获得的知识是有价值的。请将本课程分享给所有你认为会从中获益的人,还有把这句话传播开来,API酷毙了!

译自

Chapter 8: Implementation

(完结)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,362评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,330评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,247评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,560评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,580评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,569评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,929评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,587评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,840评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,596评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,678评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,366评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,945评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,929评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,165评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,271评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,403评论 2 342

推荐阅读更多精彩内容