请求方式
调用 API ,实际上就是是对一个指定的 URL 进行 GET 请求
其中请求URL由以下几部分组成:
-
域名: 实际的请求域名根据 Action 实际所属的模块而各异, 以 DescribeInstances 为例,其请求域名为:cvm.api.qcloud.com
-
路径: 目前,云API的请求路径固定为/v2/index.php
-
请求参数串: 包括公共参数和接口参数,注意:一旦缺失公共参数,请求将无法被 Action 处理。
最终的请求 URL的拼接规则为:
https:// + 请求域名 + 请求路径 + ? + 请求参数串(包括公共参数和接口参数)
假设用户想要查询广州地域的云服务器实例列表,则其请求链接的形式可能如下:
GET https://cvm.api.qcloud.com/v2/index.php? (1)
Action=DescribeInstances
&SecretId=xxxxxxx
&Region=ap-guangzhou
&Timestamp=1465055529 (2)
&Nonce=59485
&Signature=mysignature
&SignatureMethod=HmacSHA256
&InstanceIds.0=ins-0hm4gvho (3)
-
请求域名
-
公共参数
-
接口参数
公共请求参数列表
公共请求参数是每个接口都需要使用到的请求参数,如非必要, 在各个接口单独的文档中不再对这些参数进行说明, 但每次请求均需要携带这些参数, 才能正常发起请求。
参数名称 |
是否必选 |
描述 |
Action |
是 |
具体操作的指令接口名称,例如想要调用查询实例列表接口,则 Action 参数即为 DescribeInstances。 |
Region |
否 |
区域参数,用来标识希望操作哪个区域的实例 * 正常情况下此参数是必须的,如无需传入,则会在相应接口中进行特殊说明 * 某些区域仅面向部分用户开放 |
Timestamp |
是 |
当前UNIX时间戳,可记录发起 API 请求的时间。 |
Nonce |
是 |
随机正整数,与 Timestamp 联合起来, 用于防止重放攻击。 |
SecretId |
是 |
在云API密钥上申请的标识身份的 SecretId,一个 SecretId 对应唯一的 SecretKey , 而 SecretKey 会用来生成请求签名 Signature。具体可参考 签名方法 页面。 |
Signature |
是 |
请求签名,用来验证此次请求的合法性,需要用户根据实际的输入参数计算得出。计算方法可参考 此处。 |
SignatureMethod |
否 |
签名方式,目前支持 SHA256和 SHA1。只有指定此参数为 SHA256 时,才使用 SHA256 算法验证签名,其他情况均使用 SHA1 验证签名。当前建议您使用 SHA256,具体签名计算方法可参考 签名方法 页面。 |
Token |
否 |
临时证书所用的 Token,需要结合临时密钥一起使用。长期密钥不需要 Token。 |