Как составить список всех пользователей GitHub? - PullRequest
18 голосов
/ 07 сентября 2011

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

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

  1. Я отправил письмо в службу поддержки GitHub и не получил ответа.
  2. Мне нужно знать только имена пользователейЯ могу использовать GitHub API для получения другой информации.

Ответы [ 6 ]

10 голосов
/ 20 декабря 2011

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

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

Участники (авторы, по крайней мере, один коммит)


ОБНОВЛЕНИЕ:

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

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

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

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

4 голосов

Архив 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

0 голосов
/ 09 мая 2018

Командный список пользователей: -

curl -H "Authorization: token [yours]" https://api.github.com/user/teams

С помощью следующего cmd вы можете получить список всех пользователей github.

curl -H "Authorization: token fkslsml4442323wdsfsdf" https://api.github.com/orgs/cloudaws/members?page=1 | grep login >> github.txt
0 голосов
/ 21 февраля 2018
0 голосов
/ 07 мая 2013

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

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

Начиная с сегодняшнего дня, вам доступны следующие ресурсы:

0 голосов
/ 16 марта 2012

Вы, вероятно, хотели бы проверить это сообщение - https://github.com/blog/643-contributors

вызов API можно сделать так:

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

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