客户端调用API示例

您可以通过 API 网关,调用由其他阿里云用户或者第三方服务商开放的 API 服务。API 网关将为您提供一系列管理服务与支撑。

调用API

您可以直接用API网关控制台为您提供的多语言SDK来调用API(SDK和文档下载),也可以自行编写HTTP(s)请求调用API。

API调用说明及示例如下:

1.请求

请求地址组成:域名+path

域名您需要从分组上绑定的域名(如果还未绑定域名,可以使用分组上的二级域名)

http://e710888d3ccb4638a723ff8d03837095-cn-qingdao.aliapi.com/demo/post

请求方法:

POST

请求体:

FormParam1=FormParamValue1&FormParam2=FormParamValue2   # HTTP Request Body

请求头部:

Host: e710888d3ccb4638a723ff8d03837095-cn-qingdao.aliapi.com
Date: Mon, 22 Aug 2016 11:21:04 GMT
User-Agent: Apache-HttpClient/4.1.2 (java 1.6)
Content-Type: application/x-www-form-urlencoded; charset=UTF-8 
# 请求体类型,请根据实际请求体内容设置。

Accept: application/json 
# 请求响应体类型,部分 API 可以根据指定的响应类型来返回对应数据格式,建议手动指定此请求头,如果不设置,部分 HTTP 客户端会设置默认值 */*,导致签名错误。

X-Ca-Request-Mode: debug 
# 是否开启 Debug 模式,大小写不敏感,不设置默认关闭,一般 API 调试阶段可以打开此设置。

X-Ca-Version: 1  
# API 版本号,目前所有 API 仅支持版本号『1』,可以不设置此请求头,默认版本号为『1』。

X-Ca-Signature-Headers: X-Ca-Request-Mode,X-Ca-Version,X-Ca-Stage,X-Ca-Key,X-Ca-Timestamp 
# 参与签名的自定义请求头,服务端将根据此配置读取请求头进行签名,此处设置不包含 Content-Type、Accept、Content-MD5、Date 请求头,这些请求头已经包含在了基础的签名结构中,详情参照请求签名说明文档。

X-Ca-Stage: RELEASE  
# 请求 API 的 Stage,目前支持 TEST、PRE、RELEASE 三个 Stage,大小写不敏感,API 提供者可以选择发布到哪个 Stage,只有发布到指定 Stage 后 API 才可以调用,否则会提示 API 找不到或 Invalid Url。

X-Ca-Key: 60022326  
# 请求的 AppKey,请到 API 网关控制台生成,只有获得 API 授权后才可以调用,通过云市场等渠道购买的 API 默认已经给 APP 授过权,阿里云所有云产品共用一套 AppKey 体系,删除 ApppKey 请谨慎,避免影响到其他已经开通服务的云产品。

X-Ca-Timestamp: 1471864864235 
# 请求的时间戳,值为当前时间的毫秒数,也就是从1970年1月1日起至今的时间转换为毫秒,时间戳有效时间为15分钟。

X-Ca-Nonce:b931bc77-645a-4299-b24b-f3669be577ac  
# 请求唯一标识,15分钟内 AppKey+API+Nonce 不能重复,与时间戳结合使用才能起到防重放作用。

X-Ca-Signature: FJleSrCYPGCU7dMlLTG+UD3Bc5Elh3TV3CWHtSKh1Ys= 
# 请求签名。

CustomHeader: CustomHeaderValue  
# 自定义请求头,此处仅作为示例,实际请求中根据 API 定义可以设置多个自定义请求头。

2.响应

状态码:

400  
# 响应状态码,大于等于200小于300表示成功;大于等于400小于500为客户端错误;大于500为服务端错误。

响应头:

X-Ca-Request-Id: 7AD052CB-EE8B-4DFD-BBAF-EFB340E0A5AF 
# 请求唯一 ID,请求一旦进入 API 网关应用后,API 网关就会生成请求 ID 并通过响应头返回给客户端,建议客户端与后端服务都记录此请求 ID,可用于问题排查与跟踪。

X-Ca-Error-Message: Invalid Url  
# API网关返回的错误消息,当请求出现错误时 API 网关会通过响应头将错误消息返回给客户。

X-Ca-Debug-Info: {"ServiceLatency":0,"TotalLatency":2}  
# 当打开 Debug 模式后会返回 Debug 信息,此信息后期可能会有变更,仅用做联调阶段参考
                        

您调用API时,无论使用HTTP还是HTTPS协议提交请求,都需要在请求中包含签名信息。AppKey用于标识您的身份,AppSecret是用于加密签名字符串和服务器端验证签名字符串的密钥。详细加密签名的计算传递方式,请查看文档使用摘要签名认证方式调用API

签名的计算demo请参照API网关控制台SDK下载页面的SDK示例。

若需要了解更多详情,请您查看概述