如何使用GraphQL查询GitHub存储库的主要贡献者

时间:2019-03-08 01:31:40

标签: graphql github-api

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

这是我当前的查询:

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

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

2 个答案:

答案 0 :(得分:0)

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

您可以了解有关Permission levels for a user account repository的更多信息。

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

您可以了解有关Restricting access to your organization's data的更多信息。

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

答案 1 :(得分:0)

不幸的是,您不能使用github graphQL API,但是,作为替代,您可以使用Github REST API

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

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