【问题标题】:How to query the top contributors to a GitHub repository using GraphQL如何使用 GraphQL 查询 GitHub 存储库的主要贡献者
【发布时间】:2019-07-30 00:41:50
【问题描述】:

使用 GitHub 的 GraphQL API (v4),我如何查询给定存储库的主要贡献者?我有一个存储库列表,我想显示每个存储库的一些相关数据——即列表中每个存储库的前 5 个贡献者(基于提交)。

这是我当前的查询:

{
  organization(login: "the-road-to-learn-react") {
    id
    repositories(first: 20) {
      edges {
        node {
          collaborators(affiliation: ALL) {
            edges {
              node {
                name
              }
            }
          }
        }
      }
    }
  }
}

我遇到了错误:“必须具有推送访问权限才能查看存储库协作者”。我的想法是获取每个存储库的所有协作者,然后查询每个用户对存储库的贡献数量。如何才能做到这一点?有没有办法在不查询存储库协作者的情况下做到这一点?

【问题讨论】:

    标签: graphql github-api


    【解决方案1】:

    要通过 API 访问存储库协作者列表,您必须是项目中的 collaborators 之一。

    你可以阅读更多关于Permission levels for a user account repository的信息。

    即使您是合作者之一,该组织的某些存储库也可能没有OAuth App access

    你可以阅读更多关于Restricting access to your organization's data的信息。

    所以我认为除非满足上述要求,否则无法进行查询。

    【讨论】:

      【解决方案2】:

      很遗憾,您不能使用 github graphQL API,但是,作为替代方案,您可以使用 Github REST API

      例如:https://api.github.com/repos/facebook/react/contributors 您将获得大约 30 个条目,只需使用查询字符串 ?page=2 进行分页即可

      未经身份验证的速率限制为每小时 60 个请求,经过身份验证的请求为 5000

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-01-27
        • 2021-02-08
        • 2018-07-28
        • 2014-01-09
        • 2015-08-30
        • 2017-09-29
        • 2018-09-24
        • 2015-03-08
        相关资源
        最近更新 更多