Можно ли расширить результаты поиска GitHub API указанными свойствами? - PullRequest
1 голос
/ 28 сентября 2019

Я выполняю поиск пользователей, но результат из GitHub не содержит всей необходимой мне информации.

Например, при поиске пользователей на основе New York с запросом:

GET https://api.github.com/search/users?q=location:"New York"

Я получил ответ, такой как:

{
  "total_count": 58317,
  "incomplete_results": false,
  "items": [
    {
      "login": "ry",
      "id": 80,
      "node_id": "MDQ6VXNlcjgw",
      "avatar_url": "https://avatars1.githubusercontent.com/u/80?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/ry",
      "html_url": "https://github.com/ry",
      "followers_url": "https://api.github.com/users/ry/followers",
      "following_url": "https://api.github.com/users/ry/following{/other_user}",
      "gists_url": "https://api.github.com/users/ry/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/ry/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/ry/subscriptions",
      "organizations_url": "https://api.github.com/users/ry/orgs",
      "repos_url": "https://api.github.com/users/ry/repos",
      "events_url": "https://api.github.com/users/ry/events{/privacy}",
      "received_events_url": "https://api.github.com/users/ry/received_events",
      "type": "User",
      "site_admin": false,
      "score": 1.0
    },
    ...
  ]
}

Я хотел бы получить ответ также для public_repos и followers.

Эта информация доступна при отправке запроса пользователя:

GET https://api.github.com/users/{login}

{
  ...
  "public_repos": 1331,
  "followers": 262,
  ...
}

Есть ли способ расширить поискрезультаты с указанными свойствами?

1 Ответ

1 голос
/ 28 сентября 2019

Вы можете использовать GraphQL API v4 , используя следующий запрос:

{
  search(query: "location:\"New York\"", type: USER, first: 100) {
    userCount
    edges {
      node {
        ... on User {
          login
          followers {
            totalCount
          }
          repositories(privacy: PUBLIC) {
            totalCount
          }
        }
      }
    }
  }
}

Попробуйте в проводнике

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...