在GithubAPI中,如何区分用户和组织?

In Github API, how can one distinguish a user from an organisation?

采取以下GithubURL:https://github.com/google

如何判断google是用户还是组织?

我需要知道这个以正确的方式查询 Github 的 graphql API。

如果您有 user/group 的登录名(用户名),您可以使用 organizationuser 分别搜索组织和用户,并检查 2 个字段中的哪一个不是 null :

{
  org: organization(login: "google") {
    name
    members {
      totalCount
    }
  }
  user: user(login: "google") {
    name
    login
  }
}

给出:

{
  "data": {
    "org": {
      "name": "Google",
      "members": {
        "totalCount": 1677
      }
    },
    "user": null
  }
}

或使用变量作为 login 输入,try it in the explorer

对于其余 API v3,它更简单,因为它不区分用户和组织:https://developer.github.com/v3/users :

curl -s 'https://api.github.com/users/google' | jq -r '.type'

Organization

curl -s 'https://api.github.com/users/torvalds' | jq -r '.type'

User