网页调用api接口 api什么意思( 二 )


这些类型的代码混搭允许用户在自己的系统上混合和匹配来自不同供应商的功能 。例如,如果您使用营销自动化软件Marketo,您可以将您的数据与Salesforce CRM功能同步 。
在这种情况下,“开放”或“公开”不应被解释为“免费” 。您仍然需要成为Marketo和Salesforce客户才能使用此功能 。但是这些API的可用性使得集成过程比其他方式简单得多 。(InfoWorld有许多你应该知道的公共API列表* 。)
Web服务和API您可能会想到本世纪初的术语web服务,并认为开放API的想法听起来非常相似 。事实上,Web服务是一种特定类型的开放式API,它满足一组非常严格的规范,包括由Web服务描述语言(WSDL,一种XML变体)指定的规范 。
Web服务旨在用作面向服务的架构(SOA)的一部分 。正如Nordic APIs博客所解释的,这给Web服务带来了坏名声,因为SOA从未完全实现其潜力 。服务到服务通信技术的进步——尤其是更轻便、更灵活的REST——也使得Web服务落后于公共API 。
应用程序接口Web服务最初被设计为使用SOAP(简单对象访问协议)进行通信,SOAP是一种通过HTTP发送XML文档的消息传递协议 。然而,现在大多数基于Web的API使用REST(比喻状态转移)作为它们的架构风格 。
Roy Fielding在2000年的博士论文中正式介绍了它 。它是一组架构组件、设计原则和交互,用于构建涉及任何类型媒体(文本、视频等)的分布式系统 。).从本质上讲,REST是一种构建系统的风格,它允许在网络上灵活地通信和显示信息,同时提供了轻松构建公共组件所需的结构 。
在REST API中,资源几乎可以是任何东西,但是例子包括用户、tweet列表和tweet搜索的当前结果 。这些资源中的每一个都可以通过资源标识符来寻址,在基于Web的REST API中,资源标识符通常是一个URL 。当应用程序使用标识符请求资源时,API以应用程序可以使用的格式(例如,JPEG图像、HTML页面或JSON)将资源的当前表示传递给应用程序 。
REST的一个很大的区别是它涉及到向请求应用程序发送数据 。虽然这提供了很大的灵活性,并允许应用程序对数据做任何想做的事情,但这是以效率为代价的 。通过网络发送数据进行处理要比在原地处理数据然后发送结果慢得多 。
当然,“高效”方法的问题在于,托管数据的系统需要预先知道应用程序想用它做什么 。所以,要想构建一个具有通用可用性和灵活性的API,REST是必由之路 。
示例API有很多公共API供你交互,很多都来自行业巨头 。通过API以编程方式访问一些平台公司代码的能力使它们本质上成为一个平台 。一些杰出的API示例包括:
Google APIs,允许您将代码连接到从地图到翻译的所有 Google 服务 。API 对 Google 来说非常重要,以至于他们收购了领先的 API 管理平台Apigee 。Facebook APIs,允许你以编程方式访问 Facebook 的社交图谱和营销工具 。(在 Cambridge Analytica 和其他丑闻的影响下,该公司一直在限制你可以通过这些 API访问的用户数据 。)为了真正理解API是如何工作的,让我们深入研究两个:Java API,Java开发人员用来与Java平台交互的API,以及Twitter API,一个公共API,您将用来与web服务的社交媒体交互 。
简介Java API是一个“开箱即用”的软件组件库,任何安装了Java开发工具包的人都可以使用 。这些组件执行常见的任务,通常会提高生产率,因为程序员不必每次都从头开始 。软件中使用的一个基本组件是一个叫做列表的东西,正如你所期望的,它记录了项目列表 。Java API定义了您可以在列表上执行的操作:添加项目、对列表排序、确定项目是否在列表中,等等 。它还指定了如何执行这些操作 。为了对列表进行排序,你需要指定列表的排序方式:按字母顺序,按数字降序,从最浅到最深的颜色等等 。