调用已发布的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
- 配置请求地址相关参数。
API调用场景
API请求参数配置
使用域名调用API
ROMA API允许使用服务分配的子域名或服务绑定的域名调用API,无需另外配置。
使用IP调用API
- ROMA API的实例配置参数“app_route”已设置为“on”,允许通过IP访问API。
- 允许使用IP地址调用API,无需另外配置。
- 配置认证参数。
API认证方式
API请求参数配置
APP认证
签名认证
使用获取的SDK对API请求进行签名,具体请参考APP认证开发。
简易认证
在ROMA API请求中添加Header参数“X-Apig-AppCode”,参数值为获取API的请求信息中获取到的AppCode。
双重认证
在API请求参数中增加自定义认证信息进行认证。
凭证认证
- 在API请求中添加Header参数“X-HW-ID”,获取API的请求信息中获取到凭证信息的Key。
- 在API请求中添加Header参数“X-HW-AppKey”,获取API的请求信息中获取到凭证信息的Secret。
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。