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

调用GitHub API出现Bad credentials错误的修复方法求助

错误原因

Bad credentials报错代表GitHub API识别到你传入的身份凭证无效,你出现调用几次后才报错的情况,核心原因通常是PAT被GitHub自动安全扫描禁用,或者代码逻辑导致偶发传入无效token。

具体修复步骤
  • 第一步:确认PAT状态是否正常
    登录GitHub账号,进入设置 > 开发者设置 > 个人访问令牌页面,查看你使用的PAT是否被标记为已禁用。如果你曾经把PAT明文写在代码中提交到仓库,GitHub的自动安全扫描会识别到PAT并直接禁用,这种情况直接重新生成一个新的PAT即可。
  • 第二步:修正token读取逻辑
    你当前代码中os.getenv设置了无效的默认占位token,当运行环境中GITHUB_TOKEN环境变量读取失败时,会自动使用该无效token发起请求,触发认证报错。调整代码增加token合法性校验:
    import os
    import requests
    
    # 移除无效默认值,避免环境变量读取失败时传入错误token
    token = os.getenv('GITHUB_TOKEN')
    if not token:
        raise ValueError("未读取到GITHUB_TOKEN环境变量,请检查运行环境配置")
    
    headers = {'Authorization': f'token {token}'}
    response = requests.get(f'https://api.github.com/users/{username}', headers=headers)
    # 提前校验响应状态,方便定位问题
    if response.status_code == 401:
        raise PermissionError("GitHub凭证无效,请检查你的PAT状态是否正常")
    
    data = response.json()
    print(data)
    
  • 第三步:校验PAT权限与配置
    如果你使用的是细粒度PAT,需要确认该PAT已开通用户公开信息的读取权限,同时检查PAT的IP访问限制、有效期配置是否符合你的使用场景,避免IP不在允许列表内导致偶发认证失败。
  • 第四步:避免PAT泄露风险
    永远不要把PAT明文写在代码、配置文件中,所有场景都通过环境变量、密钥管理工具传递PAT,避免被安全扫描识别后禁用,引发凭证失效问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 20:24:03