Получить имя пользователя github по id
Используя эту ссылку, я вижу, что мой (тонилампада) id на github - 218821
https://api.github.com/users/tonylampada
Как я мог сделать наоборот? Учитывая идентификатор пользователя = 218821, какое имя пользователя?
Update
Ответ на nulltoken здесь, потому что это длинная история, и она не будет вписываться в комментарий.
FreedomSponsors - это приложение django, которое использует django-social-auth для включения входа в систему с Github (и другими).
(Вы должны проверить это, кстати, см. о странице в блоге:-)
Django-social-auth имеет флаг конфигурации, который позволяет приложению сохранять имя пользователя github в базе данных.
Несколько дней назад я развернул новую версию FS с включенным входом github, но с "storeGithubUsername" установлено значение "false".
Несколько пользователей зарегистрировали свои учетные записи github, и теперь база данных имеет свои идентификаторы github, но не их имена пользователей.
Вы можете найти мой профиль, что у меня есть github как "связанная учетная запись", но нет ссылки на мою страницу github.
Мне нужно, чтобы ссылка на https://github.com/tonylampada
Я готов развернуть новую версию, которая исправляет это, установив "storeGithubUsername" (это не то, что он называется, я просто упрощаю здесь) до true.
Но я хотел бы исправить базу данных с уже зарегистрированными пользователями github. У меня есть свои идентификаторы github, но не их имена пользователей github.
Ответы
Ответ 1
Мы должны сделать это на Gitter, чтобы разобраться с ситуацией, когда пользователь изменил свое имя пользователя на GitHub, и мы получаем 404 ответ при запросе их старого имени пользователя.
Здесь недокументированная конечная точка, поэтому используйте ее как собственную угрозу, но она работает сейчас.
Используйте конечную точку: https://api.github.com/user/:id
, где :id
- идентификатор пользователя.
Аналогичные конечные точки существуют для репозиций и оргов, при
https://api.github.com/repositories/:id
и https://api.github.com/organizations/:id
соответственно.
Обратите внимание, что новый репозиторий переадресации API предварительного просмотра поддерживает только репозитории, а не переименованные пользователи или организации. Фактически, перенаправление HTTP 301 на самом деле указывает на https://api.github.com/repositories/:id
, поэтому есть хорошие шансы, что эти конечные точки "ID" на самом деле скоро станут официальными.
Ответ 2
Нет никакой документальной функции или недокументированных, которые я знаю, которые вызывают извлечение имени пользователя из идентификатора. С точки зрения потребителя GitHub API, идентификатор пользователя является "детальностью реализации". Настоящим ключом является имя пользователя.
Из того, что я понимаю, вам требуется только партия имен пользователей с учетом списка идентификаторов. И это будет одноразовый запрос, а не постоянная потребность.
Поскольку ваш запрос кажется законным и ограниченным по своему охвату, вы можете получить этот ответ непосредственно из поддержки GitHub, отбросив их по электронной почте по адресу [email protected]
Действительно, xpaulbettsx, GitHubber, даже в твиттере об этом:
Поддержка @хороша для всего, что вы хотите сказать GitHub - ошибки, функции, высокие 5s; все, кроме безопасности, которые идут на безопасность @
Ответ 3
Возможно, вы сможете получить некоторую информацию о некоторых пользователях из http://ghtorrent.org/dblite/, но это не будет в режиме реального времени