Как запросить все языки из GitHubs graphql

Я пытаюсь запросить GitHub информацию о репозиториях, используя их v4 graphql. Одна из вещей, которую я хочу запросить, - это разбивка всех языков, используемых в репо. Или, если возможно, разбивка языков по всем репозиториям пользователя. Я пробовал следующий фрагмент, но он возвращает значение null, где в качестве основного языка возвращается основной язык

languages: {
  edges: {
    node: {
      name
    }
  }
}

Единственное, что я могу найти в отношении языков, - это основной язык. Но я хотел бы показать статистику для пользователя и все языки, которые они используют, либо в одном репо, либо в других репозиториях.


person Int'l Man Of Coding Mystery    schedule 29.03.2020    source источник


Ответы (1)


Вам не хватает поля нарезки, здесь вы можете указать first: 100, чтобы получить первые 100 языков для репозитория:

{
  user(login: "torvalds") {
    repositories(first: 100) {
      nodes {
        primaryLanguage {
          name
        }
        languages(first: 100) {
          nodes {
            name
          }
        }
      }
    }
  }
}

Если вы хотите иметь статистику для каждого языка (например, если вы хотите знать, какой язык является вторым, третьим и т. Д.), Я боюсь, что в настоящее время это невозможно с API graphql, но с использованием Список языков API Rest, например https://api.github.com/repos/torvalds/linux/languages​​

person Bertrand Martel    schedule 30.03.2020