下面我们先了解什么是API
API的概念
API的特点
API的分类
为什么要使用API
阿里云市场API专区
API(Application Programming Interface 应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码
或理解内部工作机制的细节
API的特点
API是一个明确定义的接口 可以为其它软件提供特定服务
API可以小到只包含一个简答的函数、也可以大到包含数以百计的类、方法、全局函数、数据类型、枚举类型和常量等
API可以是私有的 也可以是开源的
分类
面向对象语言的API
例如Java
库与框架的API
例如Windows API、Windows DirectX
API与协议
例如LDAP应用程序接口
API与设备接口
例如PC BIOS调用接口、ASPI for SCSI设备接口
Web API
举例 Google地图API、新浪微博API、阿里云API市场
为什么要使用API
快速扩展能力
避免造轮子,提高开发效率
降低模块间的耦合能力
系统变的越来越复杂,如何设计复杂的系统就很关键,而最为常见的方式是拆分模块,相互解耦,快速迭代
阿里云API市场提供1000+API服务 包含 电子商务、金融理财、交通地理、企业管理、公共事务、气象水利、人工智能、生活服务
API请求与身份认证
Web API协议及HTTP请求
API请求方式
状态返回码
API 数据格式
API身份认证及签名认证
Web API一般采用HTTP作为底层协议(最大的好处 服务端与客户端的开发语言无关)
请求机制
客户端向服务器发送一个请求
服务器给客户端一个响应,告诉客户端是否可以完成它的请求工作
HTTP请求包含的内容
为了构造有效的请求,客户端需要包含四个部分
URL(API调用地址)
请求方式 GET 请求服务器获取一个资源 POST 请求服务器创建一个新的资源 PUT 请求服务器编辑或更新一个服务器资源 DELETE请求服务器删除一个资源
Headers(请求头)提供了请求的元信息,是一个简单的项目列表,其中有客户端发送请求的时间、请求主体的大小、身份认证信息
Body(请求主体)
当成功调用API后,除了返回数据外,还会包含一个状态码
200 OK
201 用户创建或修改数据成功
202 一个请求进入排队
204 用户删除数据成功
500
503
504
https://help.aliyun.com/document_detail/43906.html
返回JSON数据格式
APPCODE的方式 实现被调用接口的身份认证,获取访问相关API的调用权限
使用方法: 请求Header中添加的Authorization字段
配置Authorization字段的值为"APPCODE+半角空格+APPCODE的值"
格式: Authorization:APPCODE AppCode的值
示例: Authorization:APPCODE xxxxxxxxxxxxxxxxxxxx
签名认证:Appkey$AppSecret
AppKey AppSecret 相当于当前账户的另外一套账户和密码机制,在云市场购买API之后,就可以在控制台找到对应的AppKey和AppSecret
API调试
API调用步骤
调用API
API调用注意事项
调用步骤:获取API 创建应用 获取授权 调用API
三个基础条件
API:即将调用的API,明确API参数定义
应用app:作为调用API时的身份,有AppKey和AppSecret用于验证身份
API和App权限的关系:app想调用某个Api需要具有改Api的权限
应用(APP)是调用API服务时的身份,每个APP有一组Key和Secret,可以理解为账号密码,调用API的时候需要将AppKey做参数传入,AppSecret用于签名计算,网管会校验这对秘钥对你进行身份认证