调用Reddit API获取access_token时报400 Bad Request问题求助
排查思路
- 首先修正请求头的键名错误:你当前
headers里的键是User Agent,Reddit API要求的标准请求头键是带连字符的User-Agent,空格是非法的,这是触发400错误最常见的原因,修改后再测试。 - 打印完整错误信息定位问题:不要仅打印响应状态码,新增代码
print(res.json())或者print(res.text),可以拿到接口返回的具体错误描述(比如invalid_grant代表账号密码错误、unsupported_grant_type代表授权类型配置错误),比单纯的400状态码更容易定位。 - 检查账号二步验证配置:如果你的Reddit账号开启了2FA两步验证,
data里的password字段需要按你的账号密码:6位2FA动态验证码的格式填写,否则会触发授权失败。 - 确认应用类型匹配:你申请的Reddit API应用必须是script类型,才能使用
password授权模式,如果申请时选了web app、installed app等其他类型,会直接返回400错误。 - 检查账号用户名格式:
data里的username仅填写纯用户名即可,不要带/u/前缀。 - 排查频率限制:如果短时间内多次发起错误请求,IP会被Reddit临时拦截,可等待1~2小时后重试,或更换网络环境测试。
内容的提问来源于stack exchange,提问作者Kevauk
相关产品推荐
相关产品推荐

