验证Discord Token时持续返回401未授权错误求助
首先看你提供的代码,存在一个明显的语法错误:
在Authorization头的拼接中,末尾多了一个右大括号:
// 错误写法 Authorization: `Bot ${args[1]}}` // 正确写法 Authorization: `Bot ${args[1]}`
这个多余的括号会导致Authorization头格式错误,Discord API无法正确解析你的Token,直接返回401。
除了这个代码错误,还可以从以下几个方向排查:
- Token类型不匹配:
如果你的Token是机器人Token,才需要在前面加Bot前缀;如果是用户Token,直接使用Token字符串作为Authorization头的值,不能加Bot前缀,否则会被API判定为无效授权。 - Token状态异常:
即使你确认Token有效,也可能存在Token被意外撤销、过期(机器人Token默认不过期,但如果重置过就会失效)、或者关联的机器人账号被封禁的情况,这些都会导致401错误。 - 请求头格式问题:
确保Authorization头没有多余的空格、换行或特殊字符,任何格式错误都会让API无法识别Token。 - 环境限制:
如果是在浏览器环境下发起请求,虽然Discord API支持CORS,但某些浏览器的安全策略可能会影响请求头的发送,不过这种情况通常会先触发CORS错误,而非401,可检查浏览器控制台是否有相关提示。
内容的提问来源于stack exchange,提问作者Aubin PRIEUR
相关产品推荐
相关产品推荐

