本文适用于您在云市场上购买API商品成功后,如何调用API。
API认证方式概述
在调用API商品时,首先您需要了解采用哪种API认证方式,云市场API商品的认证方式主要以下两种方式。两种方式可同时使用,您可以根据不同情况来选择。
简单身份认证(AppCode)
适合场景:客户端环境(您调用API商品的环境)安全可控,如您的内网环境。
技术原理概述:客户端程序将AppCode放到Request Header中,或者放到Request的Query参数中,从而进行身份认证。
优点:简单易用,无需复杂的生成签名的过程,各种开发语言都能很简单的使用,API商品也提供了多语言的调用示例。
缺点:认证方式本身的安全性较低,AppCode在网络的传输过程是以明文的方式在Http Request中,因此存在泄露风险。
使用建议:建议调用API时采用HTTPS方式,尽量减少传输过程中泄露风险。
签名认证:
适合场景:相比简单身份认证,签名方式安全性较高。
技术原理概述:客户端程序使用AppSecret,对一系列需要签名所需要的信息 (详见使用摘要签名认证方式调用API)进行哈希运算(一般会使用 hmacSha256 算法),得到签名结果(一串字符串)。在调用API时,Request Header增加签名结果和AppKey的内容,从而进行身份认证。
优点:安全性高,传输过程中的签名会根据每次调用的不同情况而发生变化,防篡改。
缺点:签名计算过程复杂,建议尽量使用SDK或代码库进行调用。
使用建议:建议使用此种方式,安全性较高,也是业内API调用的主流认证方式。
查询API调用认证信息
购买成功后,您的认证信息是由API网关统一创建的,可以使用两种方式查询到您的API调用认证信息。
简单身份认证(AppCode)
可以使用两种方法调用。
将AppCode放在Header中
请求Header中添加的Authorization字段;配置Authorization字段的值为“APPCODE + 半角空格 +APPCODE值”。
格式如下:
Authorization:APPCODE AppCode值
示例如下:
Authorization:APPCODE 3F2504E04F8911D39A0C0305E82C3301
目前API商品页中,示例请求中的代码,就是采用该方式,如下图。
将AppCode放在Query中
请求Query中添加的“AppCode”参数(同时支持”appcode” , “appCode” , “APPCODE” , “APPCode”四种写法);“AppCode”参数的值为AppCode的值。
http://您的API商品域名?AppCode=3F2504E04F8911D39A0C0305E82C3301
签名认证
签名计算过程较为复杂,计算过程可以参考使用摘要签名认证方式调用API,建议您使用API网关生成的SDK。
登录API网关控制台。
在左侧导航栏,选择API调用 >SDK> 已授权API。
在应用列表中可以找到相应的SDK。 如果SDK未能满足您的语言需要,也可以参考其他语言代码示例。