# API的概念和基本实现
P.S.这篇文章的价值在于做了视频内容的复练,不用再盯着视频过一遍
from:来自阿里云大学的免费学习课程,实现API接口调用
时间戳:2020年8月21日11:00:15
part1:调用api接口
1001:API的概念
API( Application Programming Interface应用程序编程接口)是一些预先定义的函数,
目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问
源码或理解内部工作机制的细节。
1002:API的特点
·API是一个明确定义的接口,可以为其他软件提供特定服务
·API可以小到只包含一个单独的函数,也可以大到包含数以百计的类、方法、全局函数、数据类型、
枚举类型和常量等
·API的实现可以是私有的,也可以是开源的
1003:API的分类
面向对象语言的API
举例: Java AP|列表
库与框架的API
·举例: Windows APl、 Windows directx
API与协议
举例:LDAP应用程序接口
API与设备接口
·举例:PCB|OS调用接口、 ASPI for SCS|设备接口
Web APl
举例: Google地图AP、新浪微博API、阿里云APl市场
1004:为什么要使用API
快速扩展功能
避免“造轮子”,提高开发效率
·降低模块之间的耦合度
1005:阿里云API市场
分类法:关于电子商务、金融理财、交通地理、企业管理、公共事务、气象水利、人工智能、生活服务‘
’
1006:阿里api卖场入口
分隔符
时间戳:2020年8月21日11:09:53
part2:API请求与认证
Weba API协议及HTTP请求
API请求方式
状态返回码
API数据格式
API身份认证及签名认证
2001:WEB API协议
Webap-般采用HTTP作为底层协议
HTTP请求机制如下
·客户端向服务器发送一个请求
·服务器给客户端一个响应,告诉客
户端是否可以完成它请求的工作
2002:HTTP请求包含的内容
为了构造有效的请求,客户端需要包含四个部分:
·URL(APⅠ调用地址)
·请求方式
Headers(请求头)
Body(请求主体)
2003:API请求方式
请求方式告诉服务器客户端希望它采取什么动作。常见的请求方式有四种
GET:请求服务器获取一个资源
·POST:请求服务器创建一个新的资源
·PUT:请求服务器编辑或更新一个已存在的资源
· DELETE:请求服务器删除一个资源
2004:请求头与请求主体
请求头(headers)
提供了请求的元信息,是一个简单的项目列表,其中有客户端发送请求的时间
和请求主体大小、身份认证等信息。
请求体(Body)
·包含了客户端希望发送给服务器的数据。
2005:状态码-成功状态
当成功调用API后,除了返回数据外,还会包含一个状态码,处理成功返回2Xx:
API未调用成功,则返回错误码。服务端错误码是5X,表示服务不可用(此时一般建议重试或联系
商品页面的AP服务商)
关于错误码的相关信息查询路径:
状态码-客户端错误码
客户端错误码为4ⅹX,表示业务报错。此时一般为参数错误、签名错误、请求方式有误或被流控限
制等业务类错误。建议详细査看错误码,针对性解决问题。
2006:返回数据格式
JSON格式、XML格式
2007:JSON数据格式表示方法
1.表示对象
JS○N最常用的格式是对象的键值对
2.表示数组
和普通的JS数组一样,JSON表示数组的方式是
使用方括号囗
2008:API简单身份认证(APPCODE方式)
=======分隔符=============
时间戳:2020年8月21日11:29:11
part3:API调试与调用
API调试
API调用步骤
调用API
API调用注意事项
3001:API调试
3002:API调用步骤
要调用API需要三个基础条件
·API:您即将要调用的API,明确API参数定义。
应用app:作为您调用AP时的身份,有 AppKey和 AppSecret用于验证您的身份。
·API和App的权限关系:Appρ想调用某个APⅠ需要具有该API的权限,这个权限通过授权的功能来建立。
明确API参数定义;
应用APP;
API和APP的权限关系
3003:获取API文档
【地址查询API的测试】
·在云市场选择API,在API产品页面即可找到该API
的使用说明(文档)
·购买API服务成功后,进入云市场的管理控制台,
就会看见购买的所有API服务。(如果还没有开
通API网关服务,那么会同时开通API网关服务,
让你使用更流畅)
·可以跳转到API网关的控制台,在已购买API页
面,展示购买的所有API服务列表,以及使用情
况概况
3004:创建应用
·应用(APP)是调用API服务时的身份。每个AP有一组Key和 Secret,可以理解为账号密码,调用API的时
候需要将 AppKey做参数传入, App Secret用于签名计算,网关会校验这对密钥对你迸行身份认证
·可以在API网关控制台应用管理页面创建APP,创建成功后,系统会为APP分配一对 AppKey和 AppSecret
3005:获得授权
授权,是指授予APP调用某个API的权限。您的
APP需要获得API的授权才能调用该API.
如果你在市场购买了API,就可以指定将已购买
的AP授权给哪些APP,然后这些APP才能调用
该API.
如果您没有APP,购买时云市场会为你创建一
个APP,并且授权
3006:调用API
·可以直接用API文档中提供的多语言调用示例来调
用,如右图所示
·也可以自行编辑HTTP(s)请求来调用API,详见
API的请求步骤
3007:API-调用注意事项
·每个账号下APP个数上限为10个,APP名称应为账号下唯一
·调用API的流控限制为,单个IP,QPS不超过100.
·你有权操作购买的APⅠ与APP的授权和解除授权。由服务提供方授权给你的APP的APⅠ,你无
权操作解除授权。
你的请求需要包含签名信息,请参照文档请求签名说明文档。
3008:API演练-IP地址查询
=========分隔符===========
时间戳:2020年8月21日11:45:08
part4:API实战-