API请求
请求参数
| 参数 | 类型 | 必填 | 示例 | 描述 |
|---|---|---|---|---|
| client_key | 字符串 | 是 | 12345 | 您的客户端密钥 |
| time | 整数 | 是 | 1496734816 | 当前时间(10位) |
| token | 字符串 | 是 | b4d230910ae5f97ada8ee8907afd0cd278b1455b79c83c480892da8014ada1aa | API令牌 |
| start_date | 字符串 | 是 | 2025-05-25 | 请求数据的开始时间 |
| end_date | 字符串 | 是 | 2025-05-25 | 请求数据的结束时间 |
| per_page | 整数 | 否 | 50 | 每页数据数量,默认值为50 |
| page | 整数 | 否 | 1 | 页码 |
Token的生成
- 在请求参数中传入client_key和token来通过认证,token由client_key, client_secret_key, 请求时间,请求内容生成
- token 只有60秒的有效期,过期需要重新生成一次
- 将client_key,client_secret_key,请求参数内容,请求UNIX时间戳组成键值对
- 将键值对按照键进行字符升序排序
- 然后对参数值进行urlencode编码
- 参数名和参数值之间用"="号连接,参数和参数之间用"&"号连接,得到字符串A
- 对字符串A进行SHA256算法hash,即生成token值
- 去除掉键值对中的client_secret_key,加入token字段,值为上一步生成的token值
- 然后再次对参数值进行urlencode编码
- 参数名和参数值之间用"="号连接,参数和参数之间用"&"号连接,得到字符串B
- 接口加上字符串B进行请求
上述所提到的client_key和client_secret_key需要向渠道经理申请
PHP生成TOKEN及请求示例
$client_key = 'your_client_key';
$client_secret_key = 'your_client_secret_key';
$base_url = 'https://open.3s.mobvista.com/channel/iaa/v1';
$params = [
'time' => time(),
'client_key' => $client_key,
'client_secret_key' => $client_secret_key,
'start_date' => '2025-05-01',
'end_date' => '2025-05-01',
'page' => 1
];
ksort($params);
$token = hash('sha256', http_build_query($params));
unset($params['client_secret_key']);
$params['token'] = $token;
$url = sprintf('%s?%s', $base_url, http_build_query($params));
var_dump($url);