2分钟

课程背景

实验预计耗时:30 分钟

1. 课程背景

1.1 课程目的

在开发工作中,我们经常会使用一些第三方资源站点所提供的对外资源。通过调用这些资源站点提供的统一API接口,我们能够更加快速实现业务需求,从而创造更多的价值。譬如,调用微信支付的API接口可以快速使用微信支付能力完成交易,调用腾讯云人脸识别API接口可以快速实现人脸识别服务,因此调用API的过程就显得尤为重要。本课程主要基于腾讯云所提供的API,讲解如何在腾讯云CVM上调用API接口,以及基于腾讯云市场的API服务调用第三方API接口。

1.2 课前知识准备

1.相关概念:

  • 环境准备相关:
    • JavaScript:JavaScript作为开发Web页面的脚本语言,可以实现页面的动态交互,本实验主要使用JavaScript来演示如何实现调用API。
    • Node.js:Node.js是一个基于Chrome V8 引擎的JavaScript运行环境,本实验中将使用到Node.js来安装实验所需的相关依赖,并且使用node命令来执行JavaScript文件。
    • API:API(Application Programming Interface)是指应用程序编程接口,其规定了程序请求间的数据交付方式、不同部分的衔接约定。开发人员使用API能够更加方便地访问第三方资源,而无需关注其内在实现逻辑。
    • API的作用:将复杂的系统划分为小的组成部分,开发时仅需遵循对应的API接口规范去调用其它程序的功能,而无需关注所调用的程序的内在实现逻辑。这样可以提高组成单元的内聚性,降低组成单元间的耦合程度,从而提高系统的可维护性和可扩展性。
  • 腾讯云API相关:
    • 腾讯云API:腾讯云API是腾讯云基于云服务器、云数据库、CDN等多种产品运营服务,以标准开放的API形式提供给广大企业和开发者使用,方便开发者集成和二次开发。
    • 腾讯云API应用场景:云API的一个显著特点是高扩展性,当用户有很多重复性操作需要完成时,可以按照实际需求参照云API文档,组合各种功能,快速实现业务需求,大大提高用户的效率,从而创造更多的价值。
    • 腾讯云API 3.0 Explorer:腾讯云所提供的在线API调用工具,该工具提供了在线调用、签名验证、SDK代码生成和快速检索接口等能力,能显著降低使用云API的难度。
    • 腾讯云服务器:腾讯云服务器 CVM(Cloud Virtual Machine)是腾讯云提供的可扩展的计算服务。使用 CVM 避免了使用传统服务器时需要预估资源用量及前期投入,可以在短时间内快速启动任意数量的云服务器并即时部署应用程序。本实验演示调用API时需用到腾讯云CVM,相关云服务器概念可以参考腾讯云文档中心https://cloud.tencent.com/document/product/213/495
    • 云服务器实例:云端的虚拟计算资源,包括 CPU、操作系统、网络、磁盘等最基础的计算组件。
    • 腾讯云API请求结构:腾讯云API支持GET、POST(推荐)两种请求方式进行HTTPS通信,均使用UTF-8编码。以POST请求为例,下图由上至下分别对应请求地址、请求头、请求体。请求地址指明本次访问域名;请求头中包含有请求公共请求参数,其中公共请求参数是用于标识用户和接口鉴权目的的参数,每次请求均需要携带这些参数,才能正常发起请求;请求体中包含本次请求所需要的请求参数。
请求结构(POST)
  • 第三方API相关:
    • 腾讯云市场API服务:腾讯云市场是为广大中小微企业提供上云服务的第三方服务平台。整合了软件、小程序、云解决方案等多种第三方服务。本实验中将使用其中的API服务模块来演示调用API接口,该模块提供了丰富的第三方API调用服务,可以根据自己的产品需求按需购买。
    • ISBN(International Standard Book Number):专门为识别图书等文献而设计的国际编号,用于检索图书使用。本实验中将展示通过调用API查询图书详情。

2.相关原理:

  • 调用API的原理在于:调用方与被调用方遵循同一个协议,在通信过程中只有确认调用方传输信息无误且经过授权后才能访问特定数据。比如,在银行取钱过程中,我们需要提供我们的身份账号(对应调用API中的SecretID)以及取钱的金额(对应调用API中的请求参数),最后输入密码(对应调用API中的SecretKey),银行方确认信息无误后才会将钱(对应调用API中的返回数据)给到用户。在下面调用ISBN图书查询API示例中,需要输入SecretID(授权信息)、SecretKey(授权信息)和ISBN码(请求参数)以调用API,调用成功返回图书详情(返回数据)。不难发现,调用API遵循的逻辑与生活中的业务逻辑极为相似。
调用API原理图示

3.相关命令介绍:

  • 初始化node项目
npm init -y
  • 腾讯云服务器中查询所有实例API所需的依赖
npm install tencentcloud-sdk-nodejs --save
  • 腾讯云市场中ISBN图书查询API所需的依赖
npm install crypto-js request
  • 使用node执行fileName.js 文件
node fileName.js