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

React项目使用GitHub Token调用API出现401未授权错误,重生成Token仍无效

401错误常见原因及修复方案
  • Authorization请求头格式错误
    GitHub API要求个人访问令牌(PAT)的授权头格式为 Authorization: token 你的PAT值,你当前的写法有两种可能的问题:
    1. 若你.env.local里的REACT_APP_GITHUB_TOKEN值只填了PAT字符串没有前缀token ,那么请求头缺少必填前缀,直接会被GitHub判定为未授权
    2. 若你已经在.env里加了token 前缀,注意你当前代码里直接读取环境变量赋值给headers,没有做多余处理,是符合要求的,但要检查.env配置是否有冗余字符
  • .env.local配置格式错误
    1. React读取.env文件时,不会自动去除包裹值的单引号/双引号,你写的REACT_APP_GITHUB_TOKEN='token '会把单引号也读取到变量里,最终请求头变成Authorization: 'token xxx',带了多余的单引号导致校验失败
    2. 你配置的值末尾多了一个空格,也会导致PAT校验不通过
      修复方案:把.env.local的配置改为REACT_APP_GITHUB_TOKEN=token 你的实际PAT值,不要加引号,也不要留末尾空格
  • 修改.env文件后未重启开发服务器
    React的环境变量只会在项目启动时读取一次,修改.env.local之后必须重启npm start/yarn start进程,新的配置才会生效,很多人重新生成Token后忘了重启,导致配置一直不生效
  • PAT权限不足或已过期/被吊销
    1. 新生成的PAT没有勾选public_repo等必要权限,访问公开用户数据至少需要勾选public_repo权限
    2. 如果你开启了PAT过期时间,确认当前Token未过期,也没有被GitHub后台手动吊销
  • 缺少GitHub API版本要求的必填头
    最新的GitHub API要求请求必须携带Accept: application/vnd.github+json头,以及指定API版本的X-GitHub-Api-Version: 2022-11-28头,缺少的话也可能触发授权校验失败,你可以在axios创建的时候补全这两个头:
const github = axios.create({
  baseURL: "https://api.github.com",
  timeout: 1000,
  headers: {
    Authorization: process.env.REACT_APP_GITHUB_TOKEN,
    Accept: "application/vnd.github+json",
    "X-GitHub-Api-Version": "2022-11-28"
  },
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 06:06:10