# 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卖场入口

https://market.aliyun.com

分隔符


时间戳: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实战-

实现API接口调用--来源阿里云大学-归档相关推荐

  1. 阿里云大学考试python中级题目及解析-python高级

    阿里云大学考试python高级题目及解析 1.以上代码输出结果为 a =[1,2,3,None,(),[],] print(len(a)) A.4 B.5 C.6 D.syntax error C 列 ...

  2. 基于Django实现Linux运维管理平台的整个实现过程和各种API接口调用以及Echarts绘图项目介绍(一)记录点滴生活

    基于Django实现Linux运维管理平台整个实现过程和各种API接口调用以及Echarts绘图的使用介绍 项目内容涉及技术直通车: 我的项目仓库:MyGitHub https://github.co ...

  3. 深入浅出微信公众平台实战开发(微网站、LBS云、Api接口调用、服务号高级接口)

    本课程按知识点划分,共100小节,每小节时间不等,请学员注意! 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 微信公众平台的火热程度已经不用多言,无论是个人还是企业,政府还是商家 ...

  4. PRA2020.4 平台 API 接口调用

    关注RPA请访问网站: www.i-search.com.cn 学Python,用RPA,欢迎下载使用 www.i-search.com.cn/index.html?from=line1 适用版本 适 ...

  5. 打造个人版微信小程序(1)——本地开发api接口调用

    如果觉得这篇文章对您有所启发,欢迎关注我的公众号,我会尽可能积极和大家交流,谢谢.   从今天开始,开始打造一个个人版的微信小程序,尽早上线,方便大家使用以及技术讨论.这套小程序包括前台.后台.数据库 ...

  6. 【python】20行代码实现有道翻译api接口调用

    文章目录 1. 目标站点 2. 完整代码 3. 测试样例 3.1. 测试样例Ⅰ(汉译英) 3.2. 测试样例Ⅱ(英译汉) 4. 调用文档 4.1. 接口地址 4.2. 请求方法 4.3. 请求参数 4 ...

  7. 阿里云大学考试Java初级题目及解析-java初级

    阿里云大学考试Java初级题目及解析 1.AOP的含义是什么? A.面向对象编程 B.面向切面编程 C.面向过程编程 D.面向服务编程 选B AOP为Aspect Oriented Programmi ...

  8. 阿里云大学考试python初级-python初级

    阿里云大学考试python初级题目及解析 1.Python中用来处理可视化视图的模块是() A.numpy B.pandas C.matplotib D.scipy C numpy是数组矩阵运算库 p ...

  9. JAVA 短信API接口调用 附 文档 Demo

    JAVA 短信API接口调用 附 文档 Demo 1.请求地址 http://host:port/sms 请求方式可以 POST 和 GET方式,建议采用POST方式 2.参数说明 参数需要 URLE ...

最新文章

  1. 阿里AI大牛聂再清重返清华,加入张亚勤AIR战队
  2. java-xpath学习
  3. php mysqli不识别,不识别数据库PHP MYSQLi中的密码
  4. C# 的TCPClient异步连接与异步读数据
  5. Python正则表达式笔记
  6. git小技巧之分支、关联远程仓库、回滚、解决.gitignore不生效等
  7. 使用python制作二维码
  8. 最常使用Eclipse快捷键
  9. Unity后期处理插件:PostProcessing
  10. java opencv 提取车牌_OpenCV实现车牌字符分割(C++)
  11. SNE T分布 t-SNE数据降维与可视化
  12. 安全测试(五)Android APK软件安全 APP应用安全 手机软件安全 apk安全 apk反编译 应用日志窃取 apk漏洞 应用软件本身功能漏洞 高危权限泄密风险等 移动应用常规安全讲解
  13. 关于心跳 Heartbeat
  14. Ubuntu 环境部署 安装大全
  15. anaconda使用jupyter
  16. Go 每日一库之 xorm
  17. 拨乱反正:“通过RAMDirectory缓写提高性能”是错误的!
  18. 题1003、1004、1005
  19. 【推荐】Java自学网站HOW2J.CN 手把手带你做实践项目
  20. 青梅煮酒论英雄,创新创业正当时

热门文章

  1. 苹果系统c语言打开文件夹,MAC系统硬盘文件夹详解
  2. 怎么创建PHP函数,如何创建 PHP 函数
  3. iso8601 转换 java_java积累----ISO8601格式时间转化为Datetime类型
  4. 二分算法php,使用PHP实现二分查找算法代码分享
  5. Hive之函数与自定义函数
  6. 二叉树——判断一棵树是否是平衡二叉树
  7. HDU - 1525
  8. vim golang 插件
  9. 真实赛车3,SPEEDRUSH TV 第3季,第3阶段(第3天),直线加速赛
  10. JSONModel - 字符串换转实体类