更新时间:2024-10-17 GMT+08:00

调用API

API提供者在API网关开放自己的API后,API调用者从API网关中调用API。

调用限制

如果您使用调试域名(创建API分组时系统分配的调试域名)访问API,该调试域名每天最多可以访问1000次。

获取API的调用信息

在调用API前,您需要向API提供者获取API的调用信息。

  • 获取API的请求信息

    在API网关控制台选择“开放API > API管理”,单击API的名称进入“调用信息”页面,可获取API的“域名”、“请求方法”和“请求路径”,以及API的基本信息。

  • 获取API的认证信息

    根据API使用的安全认证方式不同,还要获取相关的请求认证信息:

    认证方式

    认证信息

    APP认证(签名认证)

    向API提供者获取该API所授权应用的AppKey和AppSecret,以及认证签名所使用的SDK。

    APP认证(简易认证)

    向API提供者获取该API所授权应用的AppCode。

    IAM认证(Token认证)

    获取云服务平台的用户账号密码。

    IAM认证(AK/SK认证)

    获取云服务平台的用户账号的AK/SK,以及认证签名所使用的SDK。

    自定义认证

    向API提供者获取请求参数中要携带的自定义认证信息。

    无认证

    无需认证信息。

    • 获取应用的AppKey和AppSecret:

      在API网关共享版控制台选择“调用API > 应用管理”,在应用列表中单击API所授权应用的名称,进入应用详情页面,获取应用的AppKey和AppSecret。

    • 获取认证签名所使用SDK:

      在API网关共享版控制台选择“帮助中心”,在“SDK使用指引”页签中下载对应语言所使用SDK。

    • 获取AppCode:

      在API网关共享版控制台选择“调用API > 应用管理”,在应用列表中单击API所授权应用的名称,进入应用详情页面,在“AppCodes”页签中获取AppCode。

调用API

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

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

      API调用场景

      API请求参数配置

      使用域名调用API

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

      使用IP调用API

      使用IP地址直接调用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。具体请参考快速入门

    IAM认证(Token认证)

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

    IAM认证(AK/SK认证)

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

    自定义认证

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

    无认证

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