如何通过github api获取所有用户存储库? (包括固定存储库)

时间:2016-10-24 19:03:23

标签: github-api pygithub

我'尝试使用 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,以及接收所有用户贡献回购的方式,请提供帮助。

1 个答案:

答案 0 :(得分:2)

并非所有用户的固定存储库都属于该用户 - 他们属于用户恰好是其成员的组织,因此在向API询问API时他们不会出现>用户的存储库来自GET /users/:user/repos(道歉,我不熟悉PyGithub,因此我只会在标准的API网址中发言)。

没有简单的方法来获取用户贡献的存储库列表而无需进行多个API查询 - 例如获取用户所属的组织列表(GET /user/:user/orgs),然后列出该组织中的存储库(GET /orgs/:org/repos)。但是,使用这种方法并不能保证用户对组织中的每个存储库做出贡献。

您当然可以通过提交作者进一步过滤,但此时您可能已经花了很多精力(和速率限制)。