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

GitLab API调用403权限错误咨询:无法获取用户列表

解决GitLab API获取用户列表时403 Forbidden的问题

这个403错误的核心原因是当前请求没有足够权限访问GitLab的用户API——默认匿名访问GitLab API时,无法获取用户列表数据,必须使用带权限的个人访问令牌(PAT)进行认证。

修复步骤:

  1. 生成GitLab个人访问令牌(PAT)

    • 登录你的GitLab服务器(http://10.0.0.120)
    • 点击右上角头像 → 进入「设置」→ 选择左侧菜单的「访问令牌」
    • 在「名称」栏填个标识(比如python-api-token),设置合适的过期时间
    • 权限勾选:要获取用户列表,至少需要勾选read_user;如果需要查看所有用户(管理员权限),勾选admin_user
    • 点击「创建个人访问令牌」,复制生成的令牌字符串(注意:令牌只显示一次,务必保存好)
  2. 修改代码加入令牌认证
    把原来的代码修改为带令牌的初始化方式,示例如下:

    import gitlab
    
    # 替换成你刚生成的个人访问令牌
    gl = gitlab.Gitlab('http://10.0.0.120', private_token='你的PAT字符串')
    # 可选:验证令牌有效性,提前排查认证问题
    gl.auth()
    # 现在可以正常获取用户列表
    print(gl.users.list())
    

    更安全的做法是通过环境变量传递令牌,避免硬编码:

    import gitlab
    import os
    
    # 从环境变量读取令牌
    gl = gitlab.Gitlab('http://10.0.0.120', private_token=os.getenv('GITLAB_PRIVATE_TOKEN'))
    print(gl.users.list())
    

    然后在终端设置环境变量:

    • Linux/macOS:export GITLAB_PRIVATE_TOKEN="你的PAT字符串"
    • Windows命令行:set GITLAB_PRIVATE_TOKEN="你的PAT字符串"
  3. 权限排查(如果仍报错)

    • 确认你的GitLab账号角色:普通用户只能查看自己和公开用户信息,只有管理员账号才能获取全平台用户列表
    • 检查令牌的权限是否正确勾选,确保read_user或admin_user权限已启用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:37:02