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

How to get all user repositories by github api? (including Pinned repositories)

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

我的代码:

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

我得到 53,这是正确的数字,但是,我注意到在所有收到的回购中我找不到一些用户的 固定存储库,例如 d3/d3,虽然那个用户也对这个 repo 做出了很大的贡献。

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

并非用户的所有固定存储库都属于该用户——它们属于用户恰好所属的组织,因此在向 API 询问 用户的 存储库,来自 GET /users/:user/repos(抱歉,我不熟悉 PyGithub,所以我只会在标准 API URL 中发言)。

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

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