更新时间:2024-03-28 GMT+08:00
分享

调用已发布的API

API在发布到环境后,即支持被其他用户调用。根据API所使用的安全认证方式不同,调用API的操作有所差异。

获取API的请求消息

在调用API前,您需要向API管理者获取API的请求信息,包括访问域名、请求协议、请求方法、请求路径以及请求参数。

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

  • APP认证
    • 签名认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret),以及用于调用API的SDK。
    • 简易认证:向API管理者获取该API所在应用的AppCode。
    • 其他认证:向API管理者获取该API所授权应用的Key和Secret(或客户端的AppKey和AppSecret)或凭证信息。
  • 华为IAM认证:通过云服务平台的账号凭证(账号和密码获取Token或者AK/SK)进行认证。如果使用AK/SK进行认证,还需要向API管理者获取用于调用API的SDK。
  • 自定义认证:向API管理者获取请求参数中要携带的自定义认证信息。
  • 无认证:无需认证信息。

调用API

  1. 配置请求地址相关参数。

    API调用场景

    API请求参数配置

    使用域名调用API

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

    使用IP调用API

    • ROMA API的实例配置参数“app_route”已设置为“on”,允许通过IP访问API。
    • 允许使用IP地址调用API,无需另外配置。

  2. 配置认证参数。

    API认证方式

    API请求参数配置

    APP认证

    签名认证

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

    简易认证

    在ROMA API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的请求信息中获取到的AppCode。

    双重认证

    在API请求参数中增加自定义认证信息进行认证。

    凭证认证

    app_api_key认证

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

    app_secret认证

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

    app_basic认证

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

    app_jwt认证

    • ROMA API的实例配置参数“app_jwt”已设置为“on”,开启app_jwt认证。
    • 在API请求中添加Header参数“Timestamp”,参数值为当前时间的Unix时间戳。
    • 在API请求中添加Header参数“Authorization”,参数值为sha256(appkey+appsecret+timestamp),其中appkey和appsecret分别为获取API的请求信息中获取到的Key和Secret(或AppKey和AppSecret),timestamp为当前时间的Unix时间戳。

    华为IAM认证

    Token认证

    先获取云服务平台的认证Token,然后在API请求中携带Token进行认证。

    AK/SK认证

    调用API时,使用获取的SDK对API请求进行签名,具体请参考IAM认证开发(AK/SK)

    双重认证

    在API请求参数中增加自定义认证信息进行认证。

    自定义认证

    在API请求参数中携带认证信息进行认证。

    无认证

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

相关文档