实现调用API接口

API是一组封装好的函数,通过API,你可以为应用快速扩展功能,而无需理解它们是如何实现的,从而提升开发效率。通常,API服务商会提供API文档,那么如何根据文档来使用API呢?

PS:该文章内容来自于阿里云大学课程之[实现调用API接口],欢迎小伙伴们一起学习哦~

文章目录

          • API简介
            • API的概念
            • API的特点
            • API的分类
          • API的请求与认证
            • API请求方式
            • 请求头与请求体
            • 状态码-成功状态
            • 状态码-服务端错误码
            • 状态码-客户端错误码
            • 返回数据格式- JSON OR XML
            • JSON数据格式表示方法
            • API简单身份认证(APPCODE方式)
            • API签名认证(AppKey&AppSecret)
          • API调试与调用
            • API调试
            • API调用步骤
            • 调用API
            • API调用注意事项

API简介
API的概念

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

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

->面向对象语言的API

举例:Java API列表

->库与框架的API

举例:Windows API ,Windows DirectX

API与协议

举例:LDAP应用程序接口

API与设备接口

举例:PC BIOS调用接口,ASPI for SCSI 设备接口

Web API

举例:Google地图API,新浪微博API,阿里云API市场

API的请求与认证
API请求方式
  • GET:请求服务器获取一个资源
  • POST:请求服务器创建一个心得资源
  • PUT:请求服务器编辑或更新一个已经存在的资源
  • DELETE:请求服务器删除一个资源
请求头与请求体

请求头(Headers)

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

请求体(Body)

  • 包含了客户端希望发送给服务器的数据
状态码-成功状态

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

状态码-服务端错误码

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

状态码-客户端错误码

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

返回数据格式- JSON OR XML

目前最新的API大多使用JSON格式,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本结构,易于人阅读和编写,同时也易于机器解析和生成,是一种理想的数据交换语言。
在这里插入图片描述

JSON数据格式表示方法

1.表示对象:

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

{"name":"黑龙江","city":"哈尔冰"}

2.表示数组

和普通的JS数组一样,JSON表示数组的方式是使用方括号

{
"name":中国,
"province":[{"name":"黑龙江","city":"哈尔冰"},{"name":"广东","city":"广州"}
]
}
API简单身份认证(APPCODE方式)

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

使用方法:

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

格式:Authorization:APPCODE APPCode值

示例Authorization:AppCODE 3f2504e048911d39a0

API签名认证(AppKey&AppSecret)

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

API调试与调用
API调试
  • 阿里云API市场提供了在线调试功能,以方便用户在不用写调用代码的前提下进行快速测试。 eg:IP地址查询
API调用步骤

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

要调用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
  • 可以使用API文档中提供的多语言调用实例开调用
    在这里插入图片描述
  • 也可以自行编辑HTTP(s)请求来调用API
API调用注意事项
  • 每个账号下的APP个数上线为10个,APP名称应为账号下唯一。
  • 调用API的流控限制为,单个IP,QPS不超过100。
  • 你有权操作购买的API与APP的授权和解除授权。由服务提供方授权给你的APP和API,你无权操作解除授权。
  • 你的请求要包含签名信息,请参照文档请求签名说明文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/483073.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

量子力学与机器学习相结合,预测高温下的化学反应

来源:ScienceAI编辑:凯霞在高温下从氧化物中提取金属不仅对于钢铁等金属的生产至关重要,而且对回收利用也必不可少。但当前的提取过程是碳密集型的,会排放大量温室气体。研究人员一直在探索开发「更绿色」的工艺方法。第一性原理理…

DeepMind提出强化学习新方法,可实现人机合作

来源:AI前线作者:Ben Dickson译者:盖策划:凌敏本文来自 BDTechTalks 网站的“AI 研究论文评论”专栏。该专栏提供人工智能最新发现的系列解读文章。尽管人工智能研究人员正力图建立能在围棋、星际争霸到 Dota 等复杂游戏中击败人类…

军事大脑的构建对未来战争的影响

前言:本文是我与军事科学院的赵蔚婷,王婉两位老师在2020年4月发表的一篇论文,首发在《中国科技论文在线》,是将互联网大脑模型与军事领域结合,形成军事大脑和军事超级智能的概念体系,重点提出军事神经元和军事云反射弧…

斯坦福抢开“元宇宙”第一课,上起来还真不便宜

过去半个世纪,斯坦福教给学生的技术,促成了硅谷的诞生;而为了将来的 Web3 时代,斯坦福也已经做好了准备。来源: 硅星人文:杜晨 编辑:VickyXiao今年10月底,硅谷顶级科技公司 Facebo…

加拿大工程院院士于非:互联—— 从质量、能源、信息到智能

来源:AI科技评论整理:莓酊编辑:青暮2021年12月9日,第六届全球人工智能与机器人大会(GAIR 2021)在深圳正式启幕。140余位产学领袖、30位Fellow聚首,从AI技术、产品、行业、人文、组织等维度切入&…

2021年诺贝尔经济学奖评述:解决重大社会问题的自然实验因果框架

来源:集智俱乐部作者:诺奖委员会译者:邓宇昊 编辑:邓一雪 导语许多重大社会问题都涉及到因果分析。比如,接受更长时间的教育是否会让你未来的收入增加?提高最低工资对一个地方的就业会产生怎样的影响&…

溯因推理:人工智能的盲点

来源:AI前线作者:Ben Dickson译者:Sambodhi策划:凌敏本文给当今人工智能界推崇深度学习的现象泼了冷水,指出了人工智能的盲点:溯因推理,并提醒人们不要忽视深度学习的种种问题,否则将…

终于,LoRaWAN成全球物联网标准!LoRa将拿下LPWAN领域50%市场?

来源:LoRa联盟官网等整理发布:物联网智库 不久之前,支持物联网低功耗广域网(LPWAN)LoRaWAN开放标准的LoRa联盟宣布,致力于“物联网和智慧城市及社区标准化”的国际电联电信标准化部门(ITU-T&…

算法(二叉树-矩阵-堆排序)

最小和 位运算知识点 12>>1 //6 a/2 等价为 a>>1 中间数 (LR)/2 会出现溢出(溢出的意思就是超过了二进制) L(R-L)/2 最终改成 l((r-l)>>1) const smallSum arr > {if (arr null || arr.length < 2) {return 0;}return mergeSort(arr, 0, arr.length …

Nature:盐粒大小的相机,可以拍出清晰彩色照片,未来或可应用到手机

来源&#xff1a;大数据文摘你能想象上图只有盐粒大小的物体是一款相机吗&#xff1f;事实上&#xff0c;这款微型相机甚至可以拍出清晰的全彩图像&#xff0c;而相比之下&#xff0c;普通相机的尺寸要大50万倍。我们可以来看看它的成片。这款微型相机是普林斯顿大学和华盛顿大…

spring学习笔记01-BeanFactory和ApplicationContext的区别

spring学习笔记01-BeanFactory和ApplicationContext的区别 BeanFactory 和 ApplicationContext 的区别 BeanFactory 才是 Spring 容器中的顶层接口。 ApplicationContext 是它的子接口。           BeanFactory 和 ApplicationContext 的区别&#xff1a; 创建对象的…

java微博爬虫

微博爬取要做到每日百万级的数据量&#xff0c;需要解决很多问题。 1.springboot自带Scheduled注解是一个轻量级的quartz&#xff0c;可以完成定时任务。只需要在运行方法上加一个Scheduled注解即可。 该注解有许多属性值 initiaDelay 从程序开始延长一定时间后首次执行。 fixe…

2100年彻底颠覆世界的“十大未来科技”

来源&#xff1a;于硅谷智库 科学家们对2100年前的人类生活进行了十大预测&#xff0c;如果这些预测能够变成现实的话&#xff0c;将会让世界发生翻天覆地的变化。1能上网的隐形眼镜出现时间&#xff1a;2030年前预测者&#xff1a;来自华盛顿大学西雅图分校的巴巴克A帕尔维兹教…

智能如何产生,这仍然是个问题

来源&#xff1a;孙学军科学网博客链接地址&#xff1a;https://blog.sciencenet.cn/blog-41174-1316772.html本文的智能只是生物系统工作原理层面&#xff0c;而不是意识层面的&#xff0c;无论是工作原理&#xff0c;还是大脑意识层面&#xff0c;今天的科学仍然没有给出理想…

spring学习笔记05-IOC常用注解(二)

文章目录2.3 关于 Spring 注解和 XML 的选择问题2.4spring 管理对象细节2.5spring 的纯注解配置2.5.1 待改造的问题2.5.2 新注解说明2.5.2.1 Configuration2.5.2.2 ComponentScan2.5.2.3 Bean2.5.2.4 PropertySource2.5.2.5 Import2.5.2.6 通过注解获取容器&#xff1a;2.3 关于…

一文掌握明年物联网传感器市场!2022中国AIoT产业全景图谱报告新鲜出炉

来源&#xff1a;传感器专家网物联网产业是传感器应用最广泛的领域之一&#xff0c;研发新型传感器&#xff0c;做传感器市场&#xff0c;都不能不考虑物联网产业的需求。2021年随着COVID-19 病毒的存在已常态化&#xff0c;防疫抗疫进入了拉锯阶段&#xff1b;波及全球的“芯片…

EUV光刻机内部揭秘!

转载自: ittbank来源&#xff1a;半导体行业观察PatrickWhelan正在透过他的洁净室服面板凝视着事情的进展。在他面前是一块闪闪发光的玻璃&#xff0c;大约有一个烤箱那么大&#xff0c;上面刻有许多挖出的部分以减轻重量&#xff0c;看起来像一个外星图腾。Whelan 的团队正在将…

数据结构与算法——搜索

文章目录1.内容概述2.岛屿数量2.1 题目描述2.2 DFS深度搜索算法思路2.3 BFS宽度搜索算法思路2.4 C代码实现3.单词接龙3.1 题目描述3.2 算法思路3.3 C代码实现4.单词接龙 II4.1 题目描述4.2 算法思路5.火柴拼正方形5.1 题目描述5.2 算法思路5.3 代码实现5.4 算法思路25.5 代码实…

小程序基础能力~网络

&#xff08;1&#xff09;网络-使用说明 网络 在小程序/小游戏中使用网络相关的 API 时&#xff0c;需要注意下列问题&#xff0c;请开发者提前了解。 1. 服务器域名配置 每个微信小程序需要事先设置通讯域名&#xff0c;小程序只可以跟指定的域名与进行网络通信。包括普通 HT…

mybatis学习笔记-02-第一个mybatis程序

该视频为狂神说java视频配套笔记&#xff08;博主自己手打223&#xff0c;日后做个参考223&#xff09;&#xff0c;b站连接&#xff1a;Mybatis最新完整教程IDEA版【通俗易懂】-02-第一个mybatis程序) 文章目录2.第一个mybatis程序2.1搭建环境2.2 创建一个模块2.3编写代码2.4测…