如何使用github graphQL获取有关特定用户的信息?

时间:2016-09-17 18:36:48

标签: github graphql

如何使用github GraphQL获取有关特定用户或特定仓库的信息?我试过这个问题:

{
  search (query: "torvalds", type: USER, first: 1){
    edges {
      node {

      }
    }
  }
}

但节点的自动完成仅显示__typename,返回字符串“User”。

DEMO

2 个答案:

答案 0 :(得分:5)

获取特定用户信息的最佳方法是使用repositoryOwner查询,如下所示:

{
  repositoryOwner(login: "stubailo") {
    login
    ... on User {
      bio
    }
  }
}

搜索也很好,但如果您知道用户或组织的名称,则可以更直接地使用上述查询。

答案 1 :(得分:4)

search返回SearchResultItem,这是一个界面。要访问它上面的字段,您需要在具体类型上使用片段,如下所示:

{
  search (query: "torvalds", type: USER, first: 1){
    edges {
      node {
        ... on User {
          login
        }
      }
    }
  }
}

我对GitHub的GraphQL API进行了简短的视频浏览,你会发现它很有用:https://youtu.be/6xO87LlijoQ

编辑:如果您只是在寻找用户或组织并知道确切的名称,@ stubailo的答案实际上更好。您仍然需要为大多数字段使用片段,但是您只会得到RepositoryOwner类型的一个结果。