Appearance
认证机制
认证方式
所有对外 API 请求必须在 URL 中携带以下认证参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| appKey | String | 是 | API 密钥 |
| timestamp | Long | 是 | 当前时间戳(毫秒) |
| signature | String | 是 | 请求签名 |
签名算法
步骤 1:构建待签名字符串
待签名字符串 = appKey + ":" + timestamp + ":" + appSecret步骤 2:计算 MD5 签名
signature = MD5(待签名字符串).toUpperCase()示例(Java)
java
String appKey = "your_app_key";
String appSecret = "your_app_secret";
Long timestamp = System.currentTimeMillis();
String signStr = appKey + ":" + timestamp + ":" + appSecret;
String signature = DigestUtils.md5Hex(signStr).toUpperCase();时间戳验证
请求时间戳与服务器时间差不能超过 5 分钟。
加密示例
已知参数:
appKey:40593672appSecret:DET41A2VYN7FPI8BM6OUtimestamp:1764429611747
计算方式:
MD5(40593672:DET41A2VYN7FPI8BM6OU:1764429611747)最终得到:
signature = BFD75BE6CB742BC7F10ECBBA06167DDF认证示例
URL 示例:
GET /openapi/query/regions?appKey=xxx×tamp=1732694400000&signature=5D41402ABC4B2A76B9719D911017C592完整示例(带业务参数):
GET /openapi/query/device/realtime/123?appKey=xxx×tamp=1732694400000&signature=5D41402ABC4B2A76B9719D911017C592&deviceId=123注意事项
- 所有请求方法(GET/POST/PUT/DELETE)都使用 URL 参数传递认证信息
- 认证参数(appKey、timestamp、signature)必须放在 URL 中
- GET 请求的参数除了认证加密的参数,其他参数在 URL 进行拼接
- POST/PUT/DELETE 方式,URL 认证参数不变,请求参数放在 Body 当中