graphql - 如何使用 GraphQL 查询 GitHub 存储库的顶级贡献者

标签 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
              }
            }
          }
        }
      }
    }
  }
}

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

最佳答案

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

您可以阅读更多关于 Permission levels for a user account repository .

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

您可以阅读更多关于 Restricting access to your organization's data .

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

关于graphql - 如何使用 GraphQL 查询 GitHub 存储库的顶级贡献者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055471/

相关文章:

github - 如何获取 GitHub 存储库的开放图形图像?

java - GitHub V4 GraphQL API with Java 使用一些 GraphQL Java 库(如果可用)

graphql - 如何使用 Contentful 从 Gatsby 中的查询中检索发布的发布日期?

javascript - 从 github url 中查找用户、repo 和路径

javascript - Github 从 api 获取 PULL 请求的标签

github - 使用 GitHub API 进行身份验证的问题

python - 如何在 graphene-django GraphQLTestCase 中使用 django-grahql-jwt 进行身份验证?

Delphi 带有 Graph.cool API?

javascript - 使用 Apollo-Client 对 GitHub API v4 进行身份验证

github - 如何获得所有超过 20 颗星的公共(public) GitHub 存储库的列表?