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

课程学习笔记的思维导图

一.API 简介

1.API 的概念

API(Application Programming Interface应用程序编程接口)是一些预定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码或理解内部工作机制的细节

2.API 的特点

  • API 是一个明确定义的接口,可以为其他软件提供特定服务
  • API可以小道只包含一个单独的函数,亦可以达到包含数以百计的类,方法,全局函数,数据类型,枚举类型和常量
  • API的实现可以是私有的,亦可以是开源的

3.API 的分类

  • 面向对象语言的 API ,如Java API列表;
  • 库与框架的 API,如Windows API、Windows DirectX;
  • API 与协议,如LDAP应用程序接口;
  • API 与设备接口,如PC BIOS调用接口、ASPI for SCSI设备接口
  • Web API,如Google地图API、新浪微博API、阿里云API市场;

4.使用API的原因

  • 快速扩展功能
  • 避免"造轮子",提高开发效率
  • 降低模块之间的耦合度

二.API 的请求与认证

1.Web API协议及HTTP请求

1.1 web api 一般采用 http 作为底层协议,http 请求机制如下:

客户端向服务器发送一个请求

服务器给客户端一个响应,告诉客户端是否可以完成它的请求的工作

1.2 HTTP请求包含的内容

  • URL(API调用地址)
  • 请求方法【get、post、put、delete】
  • Headers(请求头)
  • Body(请求主体
  • 请求头(Headers):提供请求的元信息,是一个简短的项目列表,其中有客户端发送请求的时间和请求主体的大小,身份认证等信息
  • 请求体(Body):包含客户端发送给服务器的数据

2.API请求方式

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

3.状态返回码

处理成功返回2xx:

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

服务端错误码5xx:

错误代码HTTP状态码语义解决方案
Internal Error500API网关内部错误建议重试
Failed to invoke backend Service500底层服务错误API提供者底层服务错误,建议重试,如果重试多次仍然不可用,可建议联系API服务商解决
Service Unavaliable503服务不可用建议稍后重试
Async Aervice504后端服务超时建议稍后重试

客户端错误码为4xx :表示业务报错。此时一般为参数错误、签名错误、请求方式有误或被流控限
制等业务类错误。建议详细查看错误码,针对性解决问题。

参考:错误代码表 https://help.aliyun.com/document_detail/43906.html
注意:有些API自定义了错误码,具体请查看该API文档中的描述。

4.返回数据格式

  • JSON格式
{
    "name":"中国",
    "province": [{
    "name":"黑龙江"。
    "cties":{"city":["哈尔滨","大庆"]}
},{
    "name":"广东":
    "cties":{"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":"电脑","price":"6999"}

2.表示数组
和普通的JS数组一样, JSON表示数组的方式是
使用方括[]

{
	"name":"电脑",
	"products":[
		{
			"brand":"华为",
			"price":"5489"
		},
		{
			"brand":"戴尔",
			"price":"3568"
		},
	]
}

 

5.API身份认证及签名认证

5.1 API简单身份认证(APPCODE方式)

可以通过APPCODE的方式,实现到被调用接口的身份认证,获取访问相关API的调用权限。
使用方法:

  • 请求Header中添加的Authorization字段;
  • 配置Authorization字段的值为"APPCODE + 半角空格 + APPCODE值"

格式:
       Authorization:APPCODE AppCode值
示例:
       Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301

5.2 API签名认证( AppKey & AppSecret )

AppKey和AppSecret相当于当前账户的另外-套账号和密码机制。在云市场购买API之后,就可
以在控制台找到对应的AppKey和AppSecret。
 

具体的签名认证方法请参见请求头部字段以及请求签名说明文档 

三.API调试及调用

1.API调试

阿里云API市场提供了在线调试功能,以方便用户在不用写调用代码的前提下进行快速测试

2.API调用步骤

获取API文档 --- 创建应用 --- 获取授权 --- 调用API

要调用API需要三个基础条件:

  • API:您即将要调用的API ,明确API参数定义。
  • 应用app :作为您调用API时的身份,有AppKey和AppSecret用于验证您的身份。
  • API和App的权限关系: App想调用某个API需要具有该API的权限,这个权限通过授权的功能来建立。

2.2.1.获取API文档

 

  • 在云市场选择API ,在API产品页面即可找到该API的使用说明(文档)。
  • 购买API服务成功后,进入云市场的管理控制台,就会看见购买的所有API服务。( 如果还没有开通API网关服务,那么会同时开通API网关服务让你使用更流畅)
  • 可以跳转到API网关的控制台,在已购买API页面,展示购买的所有API服务列表,以及使用情况概况。

2.2.2.创建应用

  • 应用( APP )是调用API服务时的身份。每个APP有一组KeySecret ,可以理解为账号密码,调用API的时候需要将AppKey做参数传入, AppSecret用于签名计算,网关会校验这对密钥对你进行身份认证。
  • 可以在API网关控制台应用管理页面创建APP ,创建成功后,系统会为APP分配一对AppKeyAppSecret

2.2.3.获取授权

  • 授权,是指授予APP调用某个API的权限。您的APP需要获得API的授权才能调用该API。
  • 如果你在市场购买了API ,就可以指定将已购买的API授权给哪些APP ,然后这些APP才能调用该API。
  • 如果您没有APP,购买时云市场会为你创建一个APP,并且授权。

2.2.4.调用API

 

  • 可以直接用API文档中提供的多语言调用示例来调用,如右图所示
  • 也可以自行编辑HTTP(s)请求来调用API ,详见API的请求步骤

3.API调用注意事项

  • 每个账号下 APP 的个数上限为10个,app 名称应用为账号下唯一
  • 调用 api 的流控限制为,单个 ip,qps 不超过100
  • 你有权操作购买的 api 与 app 的授权和解除授权.由服务提供方授权给你的 app 的api,你无权操作解除授权
  • 你的请求需要包含签名信息
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
APASRA Clouder基础技能认证中,实现调用API接口是其中一项重要的技能API(Application Programming Interface)接口允许不同的软件系统进行交互和通信。 在实现调用API接口的过程中,首先需要了解目标API的文档和使用说明。文档通常会提供API的基本信息、请求格式、参数要求、返回数据等具体内容。根据文档中提供的信息,我们可以编写接口调用的代码。 使用API接口的第一步是进行身份认证和授权。根据API提供的认证方式,我们可能需要使用API密钥、令牌等认证信息来获取身份验证。一般情况下,我们可以通过在请求头或请求参数中添加认证信息来进行身份认证。 接下来,我们可以根据API的要求构建请求参数。根据API文档提供的要求,我们可以设置不同的请求参数,例如请求类型(GET、POST)、URL地址、请求体内容、查询参数等。在构建请求参数时,我们需要确保参数的准确性和完整性。 完成请求参数的构建后,我们可以使用编程语言中的HTTP库或者API调用工具进行请求发送。在发送请求之前,我们需要根据API文档提供的URL地址和请求方法进行配置。通过发送HTTP请求,我们可以将请求参数发送给API服务器。 一旦服务器接收到请求,它会根据请求参数进行处理并返回响应数据。我们可以检查响应状态码来判断请求的处理状态。根据API文档提供的响应格式,我们可以提取需要的数据并进行处理。 最后,我们需要对调用API接口的过程进行错误处理和异常处理。在实际使用中,我们可能会遇到网络连接失败、请求超时、权限认证错误等问题。针对这些问题,我们可以使用异常处理机制来捕获和处理错误,确保接口调用的稳定性和可靠性。 总之,通过了解API文档、身份认证、构建请求参数、发送请求、处理响应以及错误处理等步骤,我们可以实现调用API接口。这是实现APASRA Clouder基础技能认证中的一项重要能力。对于开发者来说,掌握API调用技巧将有助于更好地与不同系统进行交互和实现功能扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值