2016-10-24 62 views
2

我试图通过使用PyGithub来获取所有用户的存储库。 为了清晰起见,用户:https://github.com/mbostock有53个公共回购站。如何通过github api获取所有用户存储库? (包括固定存储库)

我的代码:

import github 
con = github.Github(mylogin, pass) 
u = g.get_user('mbostock').get_repos('all') 

,我得到53,这是正确的号码,但我注意到,所有收到的回购协议中,我不能找到一些用户的钉扎库,例如D3/D3,虽然那个用户也对这个回购做出了很大的贡献。

如果有人知道github api,以及接收所有用户的贡献回购的方式,请帮助。

回答

2

并非所有用户的固定资源库属于用户,他们属于用户恰好是一个成员组织,因此通过GET /users/:user/repos要求的用户库的API时,他们将不会出现(道歉,我不熟悉PyGithub,所以我只会在标准的API网址中发言)。

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

你当然可以进一步筛选提交的作者,但在这一点上,你可能已经付出了很大的努力(和速率限制)。

+0

非常感谢您的解释。我大概是这么想的。 –

相关问题