【问题标题】:How to get all user repositories by github api? (including Pinned repositories)如何通过 github api 获取所有用户存储库? (包括固定存储库)
【发布时间】:2016-10-24 19:03:22
【问题描述】:

我正在尝试使用 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 的方式,请帮助。

【问题讨论】:

    标签: github-api pygithub


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 2021-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多