Full Stack Python logo Full Stack Python

全部主题 | Blog | 时讯 | @fullstackpython | Facebook | 源码

应用程序编程接口

应用程序编程接口 (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 号码页上的一个文本框进行定义,如下图所示。

在 Twilio APi 中定义的 Webhook。

API 开源项目

  • Swagger 是一个用 Scala 编写的开源项目,它为 RESTful API 定义了一个标准接口。

API 相关资源

  • Zapier 上有一份免费指南叫 APIs 101,讲述了什么是 API,为什么它们很有价值及如何正确使用。

  • GET PUT POST 是一份专注于 API 知识的时讯。已发行版中包含有对 Stripe、 Dropbox 和 Coinbase 开发人员的采访。

  • RESTful 到底是什么 用平实的语言对 REST 的原理进行了精彩的讲解,并讲述了它们进化到当前状态的相关历史背景。

  • Nick Quinlan 写的 什么是 webhook? 这篇文章,用平实的语言解释了什么是 Webhook,以及为什么它们在 API 世界中有必要存在。

  • 简单性和实用性,或者,为什么 SOAP 衰败了 就当前为何基于 JSON 的 Web 服务会比那个在 21 世纪早期曾盛极一时的 SOAP 更流行等问题提供了相关的背景知识。

  • 适合各种场合的 API 工具 列出了 10 个工具列出,它们在处理 API 时真得非常有用,并且都是 2015 年最新的。

API 学习清单

  • 学习 API 相关概念—使用 JSON、XML、Endpoint 和 Webhook 的机器间通信。

  • 将 API,比如 Twilio 或 Stripe,集成到你的 Web 应用中。阅读 API 集成 那一章来学习更多相关信息。

  • 使用框架为你自己的应用创建一份 API。到 API 创建 页学习关于 Web API 框架的相关知识。

  • 将你的 Web 应用 API 公布出来,从而使其它应用能获取你想共享的那些数据。

你想学习更多关于整合或创建 API 的知识吗?

怎样将现有的 Web API 整合到我的应用中?

怎样为我的 Web 应用创建 API ?

如何在 HTTP 请求应答流程之外执行代码?

#### 在这里注册以便每月能收到一份邮件资料,内容包含本站的主要更新、教程和 Python 书籍的打折码等。

The Full Stack Python Guide to Deployments 想找到一个完整的,一步一步的部署方案吗?请看《The Full Stack Python Guide to Deployments》.

邮件获取更新

##### 注册以便每月能收到一份邮件资料,内容包含本站的主要更新和 Python 教程。

目录

1. 简介学习编程为什么用 Python?Python 2 还是 3?企业 PythonPython CommunityBest Python Podcasts最佳 Python 资源最佳 Python 视频2. 开发环境VimEmacs3. 核心语言生成器推导式4. Web 开发Web 框架DjangoFlaskBottlePyramidMorepath其它 Web 框架Web 设计级联样式表 (CSS)JavaScriptWebSockets模板引擎Web 应用安全静态网站生成器Jinja25. 数据关系型数据库NoSQL 数据存储对象关系映射器PostgreSQLMySQLSQLite6. Web APIsAPI 集成API 的创建Twilio7. 部署服务器平台即服务(PaaS)操作系统Web 服务器WSGI 服务器源码控制应用程序依赖静态内容任务队列配置管理持续集成日志监控Web 分析Docker缓存微服务DevOpsNginxApache HTTP 服务器CaddyGreen Unicorn (Gunicorn)UbuntuPelicanLektorMkDocs8. 测试单元测试集成测试代码度量调试9. MetaBotsChange LogFuture DirectionsAbout the AuthorSQLAlchemyPeewee …或者显示全部目录内容.

应用程序编程接口

重要的更新内容会通过 Twitter 账号@fullstackpython发布。


需要更加详细的教程吗?请看 《The Full Stack Python Guide to Deployments》。

Chapters

1. 简介2. 开发环境3. 核心语言4. Web 开发5. 数据 » 6. Web APIs 7. 部署8. 测试9. Meta …or view the full table of contents.


This site is based on Matt Makai's project Full Stack Python, thanks for his excellent work!

此网站由 @haiiiiiyun开源爱好者们 共同维护。 若发现错误或想贡献,请访问: Github fullstackpython.cn 项目