Подтвердить что ты не робот

Как перечислить всех пользователей GitHub?

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

Так я могу сделать эту работу? У меня есть только электронные письма пользователей. (Я могу проверить пользователя, сравнив хэш электронной почты с URL-адресом gravatar)

  • Я отправил письмо в службу поддержки GitHub и не получил ответа в настоящее время.
  • Мне нужны только имена пользователей, я могу использовать API GitHub для получения других сведений.
4b9b3361

Ответ 1

Как описано здесь, вы можете полагаться на эти два следующих API, чтобы получить выходной формат JSON. По запросу оба из них предоставляют URL-адрес gravatar.

Сотрудники (члены организации проекта)

Авторы (авторы, по крайней мере, одна фиксация)


UPDATE:

Предыдущие методы API требуют, чтобы вы начали с известного репозитория. Два следующих предложения пытаются обойти это ограничение. Они полагаются на предыдущую версию API (v2)

Запрос по электронной почте (в вашем вопросе вы указываете "У меня есть только электронные письма пользователей". При условии, что пользователи согласились опубликовать их, вы сможете получить некоторую информацию о пользователе, используя email как параметр запроса)

Поиск репозиториев (учитывая, что некоторые ключевые слова (язык, стек,...) извлекают список репозиториев. Затем для каждого из них, используя два первых предложения, перечислите их соавторов и/или вклад)

Примечание.. Убедитесь, что предполагаемое использование API соответствует Условиям использования GitHub

Ответ 2

Архив GitHub https://www.githubarchive.org/ можно использовать для быстрого получения дампа всех имен пользователей, которые когда-либо делали ничего публичного.

Он часто экспортирует API событий GitHub в набор данных Google BigQuery.

Формат данных, начиная с 2015 года, следующий:

SELECT
    actor.login
FROM (
    TABLE_DATE_RANGE([githubarchive:day.events_],
        TIMESTAMP('2015-01-01'),
        TIMESTAMP('2015-01-02')
    ))
GROUP BY actor.login
ORDER BY actor.login

и больше данных, начиная с 2011-02-12 в другом формате, должно быть легко понять.

Загрузка данных требует некоторых битв с Google BigQuery, но выполнимо: Google BigQuery: загрузить все данные

Я использовал подобный метод для извлечения всех писем с фиксацией GitHub по адресу: https://github.com/cirosantilli/all-github-commit-emails

Ответ 3

Вам, вероятно, нравится проверять этот пост - https://github.com/blog/643-contributors

Вызов api можно сделать следующим образом:

http://github.com/api/v2/json/repos/show/<user>/<repository-name>/contributors

Ответ 4

Обратите внимание, что с мая 2013 года вы можете извлечь гораздо больше информации из репозитория.
См. " Файл CRUD и статистика хранилища теперь доступны в API"

Мы используем API статистики репозитория для включения graphs, но мы не можем дождаться, чтобы увидеть, что делают другие с этим информация.

С сегодняшнего дня эти ресурсы доступны вам: