什么是API
API是Application Programming Interface的缩写,翻译为应用程序编程接口,是预留的用来定义软件应用程序、硬件与软件直接用来交互的接口。好的API设计易于学习,易于扩展,可使程序员更容易开发计算机程序。
API是如何工作的?
数据通常存储在Web服务器上托管的数据库中。要检索该数据,您需要知道如何与该数据库进行对话以获得所需的信息。这就是API的作用:它通过接收请求并以提供某些功能或服务所需的数据进行响应来提供帮助。
API可以在内部使用,以允许不同的团队共享资源,也可以在外部使用,以使第三方应用基于您的核心技术构建。无需太多技术,您可以将API视为应用程序,数据库和设备可用于以编程方式彼此交换数据的“用户界面(UI)”。
例如,当您在浏览器中键入URL来访问网页时,实际上是在向服务器发送请求,以显示该网页所需的所有数据。当单击播放以开始流式传输视频内容时,会将请求发送到服务器以访问视频文件并开始播放其内容。
一个文档齐全的API可以让程序员的生活更轻松。想象一下,程序员需要他的程序联系别人系统(甚至他自己系统)上的数据库来收集信息。他需要编写一个接口(或程序中的一组函数)来促进这个数据库连接,以便程序中在任何需要的地方都可以进行类似的连接。
基本上,界面需要具有可复制的效果。制作这个接口需要花费大量精力和编码。好消息是,API为程序员省去了从头开始编写接口的麻烦。最受欢迎的编程语言为此内置了API。这只是API如何使计算机编程世界更方便用户的一个例子。
不同类型的API
API有四种主要类型:
开放式API:也称为公共API。这些API是公开可用的,访问它们没有任何限制。
合作伙伴API:这些API并非公开可用,因此您需要特定的权限或许可才能访问它们。
内部API:也称为专用API。这些API通常旨在在公司内部使用,并且仅由内部系统公开。公司可以在不同的内部团队中使用这种类型的API,以改善其产品和服务。
复合API:这些API结合了不同的数据和服务API。它是一系列任务,它们是由于执行而不是根据任务的要求而同步运行的。
API调用和限制
当你听到“API调用”时,意味着连接到API或以某种方式与它互动。通常,API调用是免费的。例如,使用编程语言内置的API只需花费计算机的本地资源即可进行该调用。但有些API调用是向远程系统发出的,需要第三方资源。
例如,联系谷歌地图API会导致谷歌花费一些资源接听您的电话并提供您请求的数据。这可能只是少量的资源,因此在一定程度内它是免费的;但是,如果您的应用程序开始每秒拨打数千个电话,当谷歌向您发送所有这些电话的巨额账单时,您可能会感到惊讶。
不要让自己陷入那种境地。如果您是程序员,请仔细查看您的应用程序,以确保它不会拨打超过绝对必要的电话。如果您在不同的位置有不同的人运行您的程序,请考虑要求他们创建自己的API密钥。API密钥将资源限制在该用户或应用程序。
热门API示例
为了更好地了解API及其工作原理,回顾一些流行的示例可能会有所帮助。
Python数据库API
流行的Python编程语言有自己的数据库API。该接口允许Python程序员将应用程序连接到MySQL等数据库软件。数据库API提供了一组所有程序都可以共享的标准函数。例如,这样,使用数据库处理一个项目的开发人员可以分配给另一个数据库的另一个项目,并立即赶上,因为编码将几乎相同,参数略有不同。
谷歌开发者API
谁的数据比谷歌多?也许脸书?你每天使用各种谷歌产品的几率很大。不管你喜不喜欢,谷歌拥有关于网络上几乎所有事情的宝贵数据。当然,它们提供了各种各样的API,因此第三方程序可以与所有这些数据交互。谷歌地图、分析、日历、YouTube和几乎所有谷歌的东西都有一个API。它们都可以通过谷歌API插入您自己的自定义应用程序。