2

我正在尝试使用PyGithub获取所有用户的存储库。为清楚起见,用户:https ://github.com/mbostock有 53 个公共存储库。

我的代码:

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

我得到 53,这是正确的数字,但是,我注意到在所有收到的 repos 中我找不到一些用户的Pinned repositories,例如d3/d3,尽管该用户也在这个 repo 上做出了很大的贡献。

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

4

1 回答 1

2

并非所有用户的固定存储库都属于该用户 - 它们属于用户恰好是其成员的组织,因此在通过 API 询问用户存储库时它们不会出现GET /users/:user/repos(抱歉,我不熟悉使用 PyGithub,所以我只会在标准 API URL 中发言)。

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

您当然可以按提交作者进一步过滤,但此时您可能会花费大量精力(和速率限制)。

于 2016-10-25T09:57:03.517 回答