您可以通过 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示例。
若需要了解更多详情,请您查看概述。