Apsara Clouder专项技能认证:实现调用API接口-学习总结

    • API的概念:
    • API的特点:
    • API的分类:
    • 为什么要使用API
    • 阿里云API市场
  • API请求与认证
    • Web API协议
    • HTTP请求包含的内容
    • API请求方式
    • 请求头与请求主体
    • 状态码-成功状态
    • 状态码- 服务端错误码
    • 状态码-客户端错误代码
    • 返回数据格式
    • JSON数据格式表示方法
    • API简单身份认证(APPCODE方式)
    • API签名认证(AppKey & AppSecret)
  • API调试与调用
    • API调试
    • API调用步骤
    • 获取API文档
    • 创建应用
    • 获得授权
    • 调用API
    • API调用注意事项
  • 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文档
    • 创建应用
    • 获得授权
    • 调用API
    • API调用注意事项
  • API实战-股票行情查询
    • 股票行情查询API说明
    • 开通股票查询API
    • 查看API文档
  • API实战-场景识别
    • 场景识别API说明
    • 开通场景识别API
    • 查看API文档
    • 调用场景识别API

API的概念:

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-20210129191641611.png)]

API请求方式

请求方式告诉服务器客户端希望它采取 什么动作。常见的请求方式有四种:

  • GET:请求服务器获取一个资源
  • POST:请求服务器创建一个新的资源
  • PUT:请求服务器编辑或更新一个已存在的资源
  • DELETE:请求服务器删除一个资源

请求头与请求主体

  • 请求头(Headers)

    • 提供了请求的元信息,是一个简单的项目列表,其中有客户端发送请求的时间和请求主题大小、身份认证等信息
  • 请求主体(Body)

    • 包含了客户端希望发送给服务器的数据

状态码-成功状态

当成功调用API后,除了返回数据外,还会包含一个状态码,处理成功返回2xx:

HTTP状态码 语义
200 OK -[GET] 服务器成功返回用户请求的数据
201 CREATED - [POST/PUT/PATCH] 新用户新建或修改数据成功
202 aCCEPTED - [*] 表示一个请求已经进入后台排队(异步任务)
204 NO CONTENT - [DELETE] 用户删除数据成功

状态码- 服务端错误码

API未调用成功,则返回错误码。服务端错误码是5xx,表示服务不可用(此时一般建议重试或联系商品页面的API服务商)

错误代码 HTTP状态码 语义 解决方案
Internal Error 500 API网关内部错误 建议重试
Failed To Invoke Backend Service 500 底层服务错误 API提供者底层服务错误信息,建议重试,如果重试多次仍然不可用,可联系API服务商解决
Service Unavailable 503 服务不可用 建议稍后重试
Async Service 504 后端服务超时 建议稍后重试

状态码-客户端错误代码

客户端错误码为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数据格式表示方法

  1. 表示对象

JSON最常用的格式的对象的键值对

{"name":"黑龙江","city":"哈尔滨"}
  1. 表示数组

和普通的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-20210129234801009.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-20210130000009204.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-20210130001428418.png)]

  • 返回数据


希望有所帮助!!!
关注我,持续更新。

【学习总结】-Apsara Clouder专项技能认证:实现调用API接口学习总结相关推荐

  1. 阿里云Apsara Clouder专项技能认证-实现调用API接口-学习笔记

    Apsara Clouder专项技能认证-实现调用API接口-学习笔记 阿里云的一个小认证,闲来无事,考一下 一.API简介 API的概念 API(Application Programming In ...

  2. Apsara Clouder专项技能认证:实现调用API接口-API考试

    API概念 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又 ...

  3. Apsara Clouder基础技能认证:实现调用API接口

    我是葛连吉,抽出半上午的时间终于把这个Apsara Clouder基础技能认证:实现调用API接口的证书给考了出来,这次是阿里云优惠,免费就可以学习该内容并且考证! 我给大家分享一个考试的知识点 一. ...

  4. 阿里云Apsara Clouder专项技能认证:实现调用API接口(学习笔记及证书)

    文章目录 课程学习笔记的思维导图 认证证书示意 课程学习笔记的思维导图 (点击可放大查看) 认证证书示意 通过阿里云Apsara Clouder专项技能认证的学习及考试后,会得到一张阿里云给的认证证书 ...

  5. Apsara Clouder专项技能认证:实现调用API接口|参考文档

    API简介 API的概念 API(Application Programming Interface , 应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一 ...

  6. Apsara Clouder专项技能认证:实现调用API接口

    一.API 简介 1.API 的概念 API(Application Programming Interface应用程序编程接口)是一些预定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访 ...

  7. 阿里Apsara Clouder专项技能认证:实现调用API接口——笔记

    课时1:API简介 API的概念 API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访 ...

  8. Apsara Clouder专项技能认证:实现调用API接口(阿里云疫情白给课程系列)

    1.API简介 API是一种应用程序接口 https://market.aliyun.com/data?spm=5176.9502607.1387859.3.3c1a4d505Z6Xvr 2.API请 ...

  9. 花十分钟顺手拿个阿里的Apsara Clouder专项技能认证,不比手里的王者香?

最新文章

  1. 【快乐水题】1518. 换酒问题
  2. 移动端vue ui框架总结
  3. transaction type popup window when create service order
  4. 升级项目到.NET Core 2.0,在Linux上安装Docker,并成功部署
  5. python基础技巧总结(五)
  6. ubuntu14.04中离线安装docker
  7. JPA基本注解的使用
  8. 【李宏毅2020 ML/DL】P53-55 Conditional Generation by RNN Attention Pointer Network Recursive
  9. 重新编译Telepresence,谈如何写编译脚本
  10. ASP.NET页面间的传值方法(2)
  11. 设计模式学习 - 观察者模式
  12. 解决 Spring Cloud 整合 zipkin 报错:org.springframework.boot.actuate.health.CompositeHealthIndicator......
  13. 各国语言缩写-各国语言简称
  14. 虚拟中3DMax2018打开报错
  15. 水星怎么设置网速最快_水星路由器怎么限制别人网速_水星怎么限制wifi网速?-192路由网...
  16. 基于单链表快排的优化算法
  17. 离散数学实验一——关系
  18. 设计模式--SOLID四大原则,KISS和YAGNI笔记
  19. 10款相似图片搜索引擎(转http://paranimage.com/10-similarity-image-search-engine/)
  20. OpenCV入门(一)

热门文章

  1. 基于SSH开发小型洗车门店客户管理系统
  2. SpringBoot集成Activiti6教程
  3. 关闭eclipse控制台console中的非Java Server(ESLint、Angular Language Server等)
  4. linux系统的启动流程
  5. 持续集成(CI)系统
  6. Win10下adobe acrobat安装字体字体教程
  7. 计算表面静电势_APBS工具
  8. Bia布刷题日记 LC-1
  9. mysql myisam can't open table_Can’t open file:'[Table]mytable.MYI'
  10. 搭档之家:其次,构建积极的自我实现预言