Got npm包:如何为POST请求添加Bearer令牌
解决Got POST请求中Bearer令牌的授权问题
嘿,问题很明确——你把Bearer令牌放在了错误的请求头里啦!标准的Bearer认证应该使用Authorization头,而不是你写的token头。服务器找不到正确的授权信息,所以返回了401 Unauthorized错误。
修正后的代码应该是这样的:
const response = await got.post( `https://${SERVER}/${SOME_ID}/conversations/${CONVERSATION_ID}/messages`, { json: [{ text: req.body.message, type: "SystemMessage" }], responseType: "json", headers: { Authorization: "Bearer pXw4BpO95OOsZiDQS7mQvOjs" // 这里改成标准的Authorization头 } } );
简单补充几点:
- HTTP标准里,Bearer令牌的传递方式就是通过
Authorization请求头,格式固定为Bearer <你的令牌字符串> - 你之前用的
token头并不是通用的授权头字段,所以服务器无法识别这个令牌
如果修改后还是返回401,可以再排查这几个方向:
- 确认你的Bearer令牌是否有效,有没有过期或者权限范围不匹配
- 核对服务器的API文档,是否有特殊的授权格式要求(不过绝大多数REST API都会遵循标准的Authorization头规范)
内容的提问来源于stack exchange,提问作者aieyan
相关产品推荐
相关产品推荐

