title: 应用程序编程接口 category: page slug: application-programming-interfaces sortorder: 0601 toc: True sidebartitle: 6. Web APIs meta: Web 应用编程接口 (APIs) 为数据在机器间传输提供了一种机制。到 Full Stack Python 上学习有关 API 的更多知识。 authors: haiiiiiyun.github.io updated: 2016-07-27 21:24—23:09
应用程序编程接口
应用程序编程接口 (APIs) 使得应用程序间能进行数据转移和信号交换。
API 为什么重要?
HTML、 CSS 和 JavaScript 为人类创建网页。但是,这些页面难以被机器使用。
有很多的抓取工具或库可以用来提取 HTML 页面中的数据,但是通过 API 来获取数据会更加容易。例如,要想获取一篇新闻内容,通过 API 来获取比从 HTML 页面中提取会更加容易。
API 关键概念
API 的世界里有几个关键概念。在深入研究 API 之前最好把它们都弄明白先。
表述性状态转移 (REST)
Webhooks
JavaScript 对象标记 (JSON) 及可扩展标记语言 (XML)
Endpoints
Webhooks
一个 Webhook 就是由用户定义的 一个 HTTP 回调 URL,它会在系统条件满足时被调用。回调会以 POST 或 GET 请求的方式进行,通常也进行传输数据,从而知会其它系统。
Webhooks 之所以重要是因为它们能为 API 开启双向通讯。Webhook 的便捷性,源自它是由 API 用户定义的,而非 API 本身定义。
例如,在 Twilio API 中,当一条短信发送到 Twilio 的手机号码后,Twilio 会向用户指定的某个 URL 发送一条 HTTP POST 请求。该 URL 通过 Twilio 号码页上的一个文本框进行定义,如下图所示。
API 开源项目
- Swagger 是一个用 Scala 编写的开源项目,它为 RESTful API 定义了一个标准接口。
API 相关资源
GET PUT POST 是一份专注于 API 知识的时讯。已发行版中包含有对 Stripe、 Dropbox 和 Coinbase 开发人员的采访。
RESTful 到底是什么 用平实的语言对 REST 的原理进行了精彩的讲解,并讲述了它们进化到当前状态的相关历史背景。
由 Nick Quinlan 写的 什么是 webhook? 这篇文章,用平实的语言解释了什么是 Webhook,以及为什么它们在 API 世界中有必要存在。
简单性和实用性,或者,为什么 SOAP 衰败了 就当前为何基于 JSON 的 Web 服务会比那个在 21 世纪早期曾盛极一时的 SOAP 更流行等问题提供了相关的背景知识。
适合各种场合的 API 工具 列出了 10 个工具列出,它们在处理 API 时真得非常有用,并且都是 2015 年最新的。