本文适用于您在云市场上购买API商品成功后,如何调用API。

API认证方式概述

在调用API商品时,首先您需要了解采用哪种API认证方式,云市场API商品的认证方式主要以下两种方式。两种方式可同时使用,您可以根据不同情况来选择。

  • 简单身份认证(AppCode)
    • 适合场景:客户端环境(您调用API商品的环境)安全可控,如您的内网环境。
    • 技术原理概述:客户端程序将AppCode放到Request Header中,或者放到Request的Query参数中,从而进行身份认证。
    • 优点:简单易用,无需复杂的生成签名的过程,各种开发语言都能很简单的使用,API商品也提供了多语言的调用示例。
    • 缺点:认证方式本身的安全性较低,AppCode在网络的传输过程是以明文的方式在Http Request中,因此存在泄露风险。
    • 使用建议:建议调用API时采用Https方式,尽量减少传输过程中泄露风险。
  • 签名认证:
    • 适合场景:相比简单身份认证,签名方式安全性较高。
    • 技术原理概述:客户端程序使用AppSecret,对一系列需要签名所需要的信息 (详见请求签名说明文档)进行哈希运算(一般会使用 hmacSha256 算法),得到签名结果(一串字符串)。在调用API时,Request Header增加签名结果和AppKey的内容,从而进行身份认证。
    • 优点:安全性高,传输过程中的签名会根据每次调用的不同情况而发生变化,防篡改。
    • 缺点:签名计算过程复杂,建议尽量使用SDK或代码库进行调用。
    • 使用建议:建议使用此种方式,安全性较高,也是业内API调用的主流认证方式。

查询API调用认证信息

购买成功后,您的认证信息是由API网关统一创建的,可以使用两种方式查询到您的API调用认证信息。

  • 在云市场控制台中查询

    登录云市场控制台,在已购买的服务中可以查看到所有购买成功的API商品情况,下图红框中的就是AppKey/AppSecret,AppCode的信息。

  • 在API网关控制台中查询
    1. 登录API网关控制台

    2. 在左侧导航栏选择调用API > 应用管理,找到购买成功后为您创建的应用。
    3. 单击目标应用,进入应用详情,可以看到AppKey/AppSecret,AppCode等信息,此调用认证信息和在云市场控制台上一致。

      您购买的API商品会发布在不同的Region下,因此可以在各个Region下找到对应的应用。

简单身份认证(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网关生成的SDK。

  1. 登录API网关控制台
  2. 在左侧导航栏,选择调用API > 已授权API的SDK
  3. 在应用列表中可以找到相应的SDK。

    如果SDK未能满足您的语言需要,也可以参考其他语言代码示例。