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

如何使用github3库访问GitHub私有仓库?调用方式存疑求助

解决github3.py无法访问私有仓库的问题

我之前也碰到过github3.py的这个小坑,结合你的情况,问题出在方法的默认行为和参数设置上,给你两个可行的解决方案:

方案1:通过当前认证用户获取所有仓库(推荐)

github3.py里,当你用令牌登录后,可以直接通过me()方法获取当前认证的用户对象,这个对象的repositories()方法默认可以获取你的所有仓库(包括私有),或者明确指定type='all'确保包含私有仓库:

from github3 import login

# 登录并获取当前用户
gh = login(token=get_github_token())
current_user = gh.me()
# 获取所有仓库(含私有)
repos = current_user.repositories(type='all')

这个方式和你用PyGitHub的逻辑更接近,不需要手动传入自己的用户名,因为令牌已经验证了你的身份,me()会自动关联到你的账号。

方案2:修正repositories_by()的参数

如果你坚持要用repositories_by()方法,需要明确指定type='all'参数——因为这个方法的默认type值是'public',所以只会返回公开仓库。修改后的代码如下:

repos = github3.login(token=get_github_token()).repositories_by('myusername', type='all')

这样就能包含你的私有仓库了。

为什么PyGitHub不需要传用户名?

PyGitHub的核心仓库方法(比如get_user().get_repos())默认就是针对当前认证用户的,并且默认会获取所有类型的仓库;而github3.py的repositories_by()是一个通用方法,既可以用来查询自己的仓库,也可以查询其他用户的公开仓库,所以需要你明确指定参数来获取私有内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:47:44