我'尝试使用 PyGithub 获取所有用户的存储库。 为清楚起见,用户:https://github.com/mbostock有53个公共回购。
我的代码:
import github
con = github.Github(mylogin, pass)
u = g.get_user('mbostock').get_repos('all')
我得到53,这是正确的数字但是,我注意到在收到的所有回购信息中,我无法找到一些用户的固定存储库,例如 d3 / d3 ,虽然该用户也对此回购做出了重大贡献。
如果有人知道github api,以及接收所有用户贡献回购的方式,请提供帮助。
答案 0 :(得分:2)
并非所有用户的固定存储库都属于该用户 - 他们属于用户恰好是其成员的组织,因此在向API询问API时他们不会出现>用户的存储库来自GET /users/:user/repos
(道歉,我不熟悉PyGithub,因此我只会在标准的API网址中发言)。
没有简单的方法来获取用户贡献的存储库列表而无需进行多个API查询 - 例如获取用户所属的组织列表(GET /user/:user/orgs
),然后列出该组织中的存储库(GET /orgs/:org/repos
)。但是,使用这种方法并不能保证用户对组织中的每个存储库做出贡献。
您当然可以通过提交作者进一步过滤,但此时您可能已经花了很多精力(和速率限制)。