API简介
API的概念
API(Application Programming Interface , 应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节。
API的特点
API是一个明确定义的接口,可以为其他软件提供特定服务
API可以小到只包含一个函数,也可以大到包含数以百计的类、方法、全局函数、数据类型、枚举类型和常量等
API的实现可以是私有的,也可以是开源的
API的分类
面向对象语言的API 举例:JAVA API列表
库与框架的API 举例: Windows API、Windows DirectX
API与协议 举例: LDAP应用程序接口
API与设备接口 举例: PC BIOS调用接口、ASPI for SCSI设备接口
Web API 举例: Google地图API、新浪微博API、阿里云API市场
为什么要使用API
快速扩展功能
避免“造轮子”,提高开发效率
降低模块之间的耦合度
API请求与认证
- Web API 协议 及HTTP请求
Web API一般采用HTTP作为底层协议,HTTP请求机制如下:
客户端向服务器发送一个请求
服务器给客户端一个响应,告诉客户端是否可以完成它请求的工作。
URL(API调用地址)
请求方式
Headers(请求头)
Body(请求主体)
API请求方式
请求方式告诉服务器客户端希望它采取什么动作。常见的请求方式有四种:
GET:请求服务器获取一个资源
POST:请求服务器创建一个新的资源
PUT:请求服务器编辑或更新一个已存在的资源
DELETE:请求服务器删除一个资源。
请求头(Headers):提供了请求的元信息,是一个简单的项目列表,其中有客户端发送请求的时间和请求主体大小、身份认证等信息。
请求体(Body) :包含了客户端希望发送给服务器的数据。
状态返回码
当成功调用API后,除了返回数据外,还会包含一个状态码,处理成功返回2xx
API未调用成功。则返回错误码。服务端错误码是5xx,表示服务不可用(此时一般建议重试或联系商品页面的API服务商)
客户端错误码为4xx,表示业务报错。此时一般为参数错误、签名错误、请求方式有误或被流控限制等业务类错误。建议详细查看错误码,针对性解决问题。
参考:错误码表 https://help.aliyun.com/document_detail/43906.html
API数据格式
API身份认证及签名认证
API调用步骤
要调用API需要三个基础条件
API:您即将要调用的API,明确API参数定义。
应用app:作为您调用API时的身份,有AppKey和AppSecret用于验证您的身份。
API和App的权限关系:App想调用某个API需要具有该API的权限,这个权限通过授权的功能来建立。
API调用注意事项
每个账号下APP个数上限为10个,APP名称应为账号下唯一。
调用API的流控限制为,单个IP,QPS不超过100.
你有权操作购买的API与APP的授权和解除授权。由服务提供方授权给你的APP的API,你无权操作解除授权。
你的请求需要包含签名信息。
注:本文是作者考阿里云Apsara Clouder专项技能认证:实现调用API接口记录的。如果你想玩玩可以去阿里云调用API试试,感谢观看。