API网关 APIG-调用API:调用API

时间:2024-05-11 16:17:24

调用API

本章节仅提供请求地址和认证参数的配置指导,客户端的其他参数配置需要用户自行调整,如超时配置、SSL配置等。如果客户端参数配置错误会导致业务受损,建议参考业界标准进行配置。

  1. 构造API请求,示例如下:
    POST https://{Address}/{Path}?{Query}
    {Header}
    
    {
      {Body}
    }
    • POST:请求方法,需替换为获取API的调用信息中获取的请求方法。
    • {Address}:请求地址,需替换为获取API的调用信息中获取的域名地址。

      API调用场景

      API请求参数配置

      使用域名调用API

      使用服务分配的调试域名或服务绑定的域名调用API,无需另外配置。

      使用IP调用DEFAULT分组的API

      API允许使用IP地址调用DEFAULT分组下的API,无需另外配置。

      使用IP调用非DEFAULT分组的API

      • 使用IP地址直接调用非DEFAULT分组下的APP认证的API:
        1. 将实例的配置参数“app_route”和“app_secret”设置为“on”。开启“app_route”之后,同一凭据不能授权给相同请求路径和方法的API。
        2. 在请求消息中添加Header参数“X-HW-ID”和“X-HW-APPKEY”,参数值为API所授权凭据的Key和Secret。
        须知:

        使用简易认证(APP认证)调用API时,仅需在请求消息中添加Header参数“X-Apig-AppCode”和“host”即可。

      • 使用IP地址直接调用非DEFAULT分组下的非APP认证的API,需要在请求消息中添加Header参数“host”。
    • {Path}:请求路径,需替换为获取API的调用信息中获取的请求路径。
    • {Query}:查询参数,可选,格式为“参数名=参数取值”,例如limit=10,多个查询参数之间使用“&”隔开。需根据获取API的调用信息中获取的请求参数进行设置。
    • {Header}:请求头参数,格式为“参数名: 参数取值”,例如Content-Type: application/json。需根据获取API的调用信息中获取的请求参数进行设置。
    • {Body}:请求消息体,JSON格式。需根据获取API的调用信息中获取的请求体内容描述进行设置。
  1. 为API请求添加认证信息。

    API认证方式

    API请求参数配置

    APP认证(签名认证)

    使用获取的SDK对API请求进行签名,具体请参考使用APP认证调用API

    APP认证(简易认证)

    在API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的调用信息中获取到的AppCode。具体请参考快速入门

    APP认证(app_api_key认证)

    • 实例的配置参数“app_api_key”已设置为“on”,开启app_api_key认证。
    • 在API请求中添加Header或Query参数“apikey”,参数值为获取API的调用信息中获取到的Key。

    APP认证(app_secret认证)

    • 实例的配置参数“app_secret”已设置为“on”,开启app_secret认证,且“app_api_key”已设置为“off”,关闭app_api_key认证。
    • 在API请求中添加Header参数“X-HW-ID”,参数值为获取API的调用信息中获取到的Key。
    • 在API请求中添加Header参数“X-HW-AppKey”,参数值为获取API的调用信息中获取到的Secret。

    APP认证(app_basic认证)

    • 实例的配置参数“app_basic”已设置为“on”,开启app_basic认证。
    • 在API请求中添加Header参数“Authorization”,参数值为"Basic"+base64(appkey+":"+appsecret),其中appkey和appsecret分别为获取API的调用信息中获取到的Key和Secret。

    APP认证(app_jwt认证)

    • 实例的配置参数“app_jwt”已设置为“on”,开启app_jwt认证。
    • 在API请求中添加Header参数“Timestamp”,参数值为当前时间的Unix时间戳,单位为毫秒。
    • 在API请求中添加Header参数“Authorization”,参数值为sha256(appkey+appsecret+timestamp),且sha256加密后的字符串需为小写字母。其中appkey和appsecret分别为获取API的调用信息中获取到的Key和Secret,timestamp为当前时间的Unix时间戳,单位为毫秒。
    • 在API请求中添加Header参数“X-HW-ID”,参数值为获取API的调用信息中获取到的Key。

    APP认证(双重认证)

    在API请求中同时携带APP认证和自定义认证的认证信息。

    IAM认证(Token认证)

    先获取云服务平台的认证Token,然后在API请求中添加Header参数“X-Auth-Token”,参数值为认证Token,具体请参考Token认证

    IAM认证(AK/SK认证)

    使用获取的SDK对API请求进行签名,具体请参考AK/SK认证

    IAM认证(双重认证)

    在API请求中同时携带IAM认证和自定义认证的认证信息。

    自定义认证

    根据自定义认证的定义,在API请求参数中携带相关认证信息进行认证。

    无认证

    无需认证,可直接调用API。

    第三方认证(API策略)

    向API提供者获取请求参数中要携带的第三方认证信息。

support.huaweicloud.com/usermanual-apig/apig_03_0046.html