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

Google Apps Script调用Reddit API获取access token报400错误

400错误修复方案

你换access token返回400是两个明确的参数错误导致的:

  • 授权码传错了:回调URL里code参数末尾的#_是Google Apps Script自动追加的URL片段标记,不属于Reddit返回的授权码内容。你现在换token时把#_一起拼到code参数里提交,Reddit校验授权码失败直接返回400。实际有效授权码是#前面的部分,也就是你这次请求里的m0PsSaLd1kKVZs7jymk1Qn69hXsTQw,把后面的#_删掉再传。
  • User-Agent不符合规则:Reddit API对请求的User-Agent有明确格式要求,你现在传的username属于无效UA,会被接口拦截。合法UA格式为<运行平台>:<应用名称>:<版本号> (by /u/<你的Reddit账号名>),比如你这个场景可以填google-apps-script:Reporting:v1.0 (by /u/你的Reddit用户名)。

修正后的curl请求示例

curl -X POST https://www.reddit.com/api/v1/access_token \
-H 'content-type: application/x-www-form-urlencoded' \
-A 'google-apps-script:Reporting:v1.0 (by /u/你的Reddit用户名)' \
-u '你的client_id:你的client_secret' \
-d 'grant_type=authorization_code&code=m0PsSaLd1kKVZs7jymk1Qn69hXsTQw&redirect_uri=https%3A%2F%2Fscript.google.com%2Fmacros%2Fd%2F1Nh3AKooeG8XH4rSTvEWLTf5l3Sgo3nPgK01qiusSany43fFNaUgg2q6b%2Fusercallback'

其他避坑点

  • Reddit应用后台配置的回调地址必须和请求里的redirect_uri参数完全一致,大小写、路径、斜杠都不能有差异,否则会报校验错误
  • 授权码有效期只有10分钟,且只能使用一次,过期、重复使用都会返回400
  • web app类型应用必须走authorization_code授权流程,不要混用script类型的password授权模式

内容的提问来源于stack exchange,提问作者Code Guy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 06:54:09