全部产品
Search
文档中心

API 网关:客户端调用API示例

更新时间:Jan 03, 2025

您可以通过 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示例。

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