Apsara Clouder专项技能认证:实现调用API接口-学习总结
API的概念:API的特点:API的分类:为什么要使用API阿里云API市场API请求与认证Web API协议HTTP请求包含的内容API请求方式请求头与请求主体状态码-成功状态状态码- 服务端错误码状态码-客户端错误代码返回数据格式JSON数据格式表示方法API简单身份认证(APPCODE方式)API签名认证(AppKey & AppSecret)API调试与调用API调试API调用步骤获取API文档创建应用获得授权调用APIAPI调用注意事项API实战-股票行情查询股票行情查询API说明开通股票查询API查看API文档API实战-场景识别场景识别API说明开通场景识别API查看API文档调用场景识别API写在前面:
Hello,各位码友,好久不见。平时比较忙,已经一个月没有发文了。今天还是抓一下一月的小尾巴,赶紧发一篇。本文介绍了我在阿里云上学习Apsara Clouder专项技能认证:实现调用API接口课程的知识的一个总结,后续也会更新一些其他课程的学习总结。希望对您有所帮助,点个关注不迷路,感谢您的支持,谢谢!# API简介
文章目录
API的概念:API的特点:API的分类:为什么要使用API阿里云API市场API请求与认证Web API协议HTTP请求包含的内容API请求方式请求头与请求主体状态码-成功状态状态码- 服务端错误码状态码-客户端错误代码返回数据格式JSON数据格式表示方法API简单身份认证(APPCODE方式)API签名认证(AppKey & AppSecret)API调试与调用API调试API调用步骤获取API文档创建应用获得授权调用APIAPI调用注意事项API实战-股票行情查询股票行情查询API说明开通股票查询API查看API文档API实战-场景识别场景识别API说明开通场景识别API查看API文档调用场景识别APIAPI的概念:
API ( Application Programming Interface ,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节。
API的特点:
API是一个明确定义的接口,可以为其他软件提供特定服务API可以小到只包含一个单独的函数,也可以大到包含数以百计的类、方法、全局函数、数据类型、枚举类型和常量等API的实现可以是私有的,也可以是开源的API的分类:
面向对象语言的API
举例:Java API列表
库与框架的API
举例:Windows API、Window DirectX
API与协议
LOAP应用程序接口
API与设备接口
PC BIOS调用接口、ASPI for SCSI设备接口
Web API
Google地图API、新浪微博API、阿里云市场API
为什么要使用API
快速扩展功能避免“造轮子”,提升开发效率降低模块之间的耦合度阿里云API市场
阿里云API市场提供1000+API服务
API市场:
电子商务 IP地址查询企业版商品条码查询新浪微博API智能创意云服务-抠图 经融理财 失信被执行人黑名单身份证实名汇率查询转换商品条形码查询 交通地理 航班起降时间查询今日油价车辆尾号限行经纬度地址转换接口 企业管理 税务欠税违法负面信息企业工商数据查询学历学籍授权查询软件著作权查询 公共事务 天气预报图片验证码识别IP地址查询阿里短信服务 气象水利 PM2.5空气质量指数墨迹天气Final版全国天气预报查询国控实时空气质量数据 人工智能 衣+人脸比对汉王云-文本识别商务版机器翻译机器翻译-翻译接口 生活服务 手机归属地查询微信热点全国快递查询公交地铁查询
API请求与认证
Web API协议
Web API一班采用HTTP作为底层协议,HTTP请求机制如下:
客户端向服务器端发送一个请求服务器给客户端一个响应,告诉客户端是否可以完成它请求的工作
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mBv6bM29-1611937794192)(E:\阿里\Apsara Clouder专项技能认证:实现调用API接口\请求-响应机制.png)]
HTTP请求包含的内容
为了构造有效的请求,客户端需要包含四个部分:
URL(API调用地址)请求方式Headers(请求头)Body(请求主体)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4YiU3sZn-1611937794195)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-0129191641611.png)]
API请求方式
请求方式告诉服务器客户端希望它采取 什么动作。常见的请求方式有四种:
GET:请求服务器获取一个资源POST:请求服务器创建一个新的资源PUT:请求服务器编辑或更新一个已存在的资源DELETE:请求服务器删除一个资源
请求头与请求主体
请求头(Headers)
提供了请求的元信息,是一个简单的项目列表,其中有客户端发送请求的时间和请求主题大小、身份认证等信息
请求主体(Body)
包含了客户端希望发送给服务器的数据
状态码-成功状态
当成功调用API后,除了返回数据外,还会包含一个状态码,处理成功返回2xx:
状态码- 服务端错误码
API未调用成功,则返回错误码。服务端错误码是5xx,表示服务不可用(此时一般建议重试或联系商品页面的API服务商)
状态码-客户端错误代码
客户端错误码为4xx ,表示业务报错。此时一般为参数错误、签名错误、请求方式有误或被流控限制等业务类错误。建议详细查看错误码,针对性解决问题。
注意:有些API定义了错误码,具体请查看API文档中的描述
返回数据格式
JSON格式
{"name":"中国","province":[{"name":"黑龙江","cities":{"city":["哈尔滨","大庆"]}},{"name":"广东","cities":{"city":["广东","深圳","珠海"]}}]}
XML格式
<?xml version="1.0"encoding="utf-8"?><country><name>中国</name><province><name>黑龙江</name><citys><city>哈尔滨</city><city>大庆</city></citys></province></country>
目前最新的API大多数使用JSON数据格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立的文本格式,易于人阅读和编写,同时也易于机器解析和生成,是一种理想的数据交换语言
JSON数据格式表示方法
表示对象JSON最常用的格式的对象的键值对
{"name":"黑龙江","city":"哈尔滨"}
表示数组
和普通的JS数组一样,JSON表示数组的方式是使用方括号[]
{"name":"中国","province":[{"name":"黑龙江","city":"哈尔滨"},{"name":"广东","city":"广州"}]}
API简单身份认证(APPCODE方式)
可以通过APPCODE的方式,实现到被调用接口的身份认证,获取访问相关API的调用权限。
使用方法:
请求Header中添加的Authorization配置Authorization字段的值为“APPCODE + 半角空格 + APPCODE值”。
格式:
Authorization:APPCODE AppCode值
示例:
Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301
API签名认证(AppKey & AppSecret)
AppKey和AppSecret相当于当前帐户的另外一套账号和密码机制。在云市场购买API之后就可以在控制台找到对应的AppKey和AppSecret。
具体的签名认证方法请参见请求头部字段以及请求签名说明文档
API调试与调用
API调试
阿里云API市场提供了在线调试功能,以方便用户在不写调用代码的前提下进行快速测试API调用步骤
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iHZbz7MM-1611937794196)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-0129234801009.png)]
要调用API需要三个基础条件:
API:您即将要调用的API,明确API参数定义应用app:组为您调用API时的身份,有AppKey和AppSecret用于验证您的身份API和App的权限关系:App想调用某个API需要具有该API带的权限,这个权限通过授权的功能来建立
获取API文档
在云市场选择API,在API产品页面即可找到该API的使用说明(文档)。购买API服务成功后,进入云市场的管理控制台,就会看见购买的所有API服务。(如果还没有开通API网关服务,那么会同时开通API网关服务,让你使用更流畅)可以跳转到API网关的控制台,在已购买API页面,展示购买的所有API服务列表,以及使用情况概况。创建应用
应用( APP)是调用API服务时的身份。每个APP有一组Key和Secret,可以理解为账号密码,调用API的时候需要将AppKey做参数传入,AppSecret用于签名计算,网关会校验这对密钥对你进行身份认证。可以在API网关控制台应用管理页面创建APP,创建成功后,系统会为APP分配一对AppKey和AppSecret.获得授权
授权,是指授予APP调用某个API的权限。您的APP需要获得API的授权才能调用该API。如果你在市场购买了API,就可以指定将已购买的API授权给哪些APP,然后这些APP才能调用该API。如果您没有APP,购买时云市场会为你创建一个APP,并且授权。调用API
可以直接用API文档中提供的多语言调用示例来调用,如下图所示
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rvO6y94Z-1611937794197)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-0130000009204.png)]
也可以自行编辑HTTP(s)请求来调用API,详见API的请求步骤
API调用注意事项
每个账号下APP个数上限为10个,APP名称应为账号下唯一。·调用API的流控限制为,单个IP,QPS 不超过100。你有权操作购买的API与APP的授权和解除授权。由服务提供方授权给你的APP的API,你无权操作解除授权。你的请求需要包含签名信息,请参照文档请求签名说明文档。API实战-股票行情查询
股票行情查询API说明
该API可查询数据包括股票行情(当前价、市盈利、市净率、总股本、每股净资产、流通股本等)、指标、分实线、k线、历史行情(2000年至今)等,可批量查询沪深股市、香港股市。
开通股票查询API
阿里云市场
查看API文档
API实战-场景识别
场景识别API说明
场景识别,通过深度学习算法,自动识别图像中的数十种常见的场景,如天空、草地等等。
你的应用程序可以基于这个功能,轻松实现图片的自动管理、分组和搜索功能,完成大型图像库的智能管理。
开通场景识别API
阿里云市场
查看API文档
调用地址:
请求方式:POST
返回类型:JSON
身份认证:APPCODE
调用场景识别API
实例源码
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DMJUMKOy-1611937794200)(C:\Users\admin\AppData\Roaming\Typora\typora-user-images\image-0130001428418.png)]
返回数据
希望有所帮助!!!
关注我,持续更新。
如果觉得《【学习总结】-Apsara Clouder专项技能认证:实现调用API接口学习总结》对你有帮助,请点赞、收藏,并留下你的观点哦!