You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mintegral REST API数据迁移Python代码报Token错误400求助

修复Mintegral REST API调用的Token验证错误

问题根源分析

你的Python代码出现Token验证错误,核心原因有两个:

  • 生成Token时使用的时间戳与请求参数里的时间戳不统一:两次调用time.time()会产生不同值(哪怕间隔毫秒级),导致服务端校验Token时时间戳不匹配。
  • Content-type错误地放在了URL参数中:GET请求无需在参数里传递该字段,即便需要设置也应放在请求头内。

修复后的代码

import requests
import time
import hashlib 

apikey = "xxxx"
# 先固定整数时间戳,确保Token生成和请求参数用同一个值
timestamp = str(int(time.time()))
# 按API规则生成Token:API密钥 + 时间戳的MD5值,再整体做MD5
timestamp_md5 = hashlib.md5(timestamp.encode()).hexdigest()
token_raw = apikey + timestamp_md5
md5_token = hashlib.md5(token_raw.encode()).hexdigest()

response = requests.get(
    "http://data.mintegral.com/v4.php?m=advertiser",
    params={
        'username': 'XXXABC',
        'token': md5_token,
        'timestamp': timestamp,
        # 'utc': '+8',
        'start_date': '2022-06-07',
        'end_date': '2022-06-13',
        # 'per_page': 5000
    }
)
print(response.text)

关键修改说明

  1. 统一时间戳:先获取并固定整数格式的时间戳,彻底避免前后时间值不一致的问题,这是Token验证通过的关键。
  2. 修正Token生成逻辑:严格按照API文档要求,对原始整数时间戳做MD5,再与API密钥拼接后再次MD5,而非对浮点数时间戳处理。
  3. 移除无效参数:删除URL参数中的Content-type字段,GET请求无需该参数;若业务需要设置请求头,可添加headers={'Content-Type': 'application/json'}到requests.get()的参数中。

内容的提问来源于stack exchange,提问作者Nhi Yen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 22:06:32