Obtenir le nom d'utilisateur github par id

En utilisant ce lien, je peux voir que mon id (tonylampada) sur github est 218821 https://api.github.com/users/tonylampada

Comment pourrais-je faire le contraire? Étant donné l'ID utilisateur = 218821, Quel est le nom d'utilisateur?


Mettre à jour

Répondre à nulltoken ici parce que c'est une longue histoire et ça ne rentre pas dans un commentaire.

FreedomSponsors est une application django qui utilise django-social-auth pour activer la connexion avec Github (et d'autres). (Vous devriez vérifier, btw, veuillez voir le à propos de la page dans le blog :-) Django-social-auth a un indicateur de configuration qui permet à l'application de stocker le nom d'utilisateur github sur la base de données. Il y a quelques jours, j'ai déployé une nouvelle version de FS avec la connexion github activée, mais avec "storeGithubUsername" défini sur false.

Quelques utilisateurs ont enregistré leurs comptes github, et maintenant la base de données a leurs ID github, mais pas leurs noms d'utilisateur.

Vous pouvez voir dans mon profil que j'ai github comme un "compte connecté" mais il n'y a pas de lien vers ma page github.

J'en ai besoin pour que le lien pointe vers https://github.com/tonylampada

Je suis prêt à déployer une nouvelle version qui corrige cela, en définissant le "storeGithubUsername" (ce n'est pas ce qu'on appelle, je simplifie juste ici) à true. Mais je voudrais patcher la base de données avec les utilisateurs déjà enregistrés github. J'ai leurs identifiants github, mais pas leurs noms d'utilisateur github.

30
demandé sur Tony Lâmpada 2012-08-16 00:03:33

2 réponses

Nous devons le faire sur Gitter pour faire face à la situation où un utilisateur a changé son nom d'utilisateur sur GitHub et nous obtenons une réponse 404 lors de l'interrogation de son ancien nom d'utilisateur.

Voici un point de terminaison non documenté, utilisez-le à vos risques et périls, mais cela fonctionne pour l'instant.

Utiliser le point de terminaison: https://api.github.com/user/:id, où :id est l'ID de l'utilisateur.

Des points de terminaison similaires existent pour les dépôts et les organisations, à https://api.github.com/repositories/:id et https://api.github.com/organizations/:id respectivement.

Notez que le nouveau référentiel redirige preview API ne prend en charge que les référentiels, et non les utilisateurs ou les organisations renommés. En fait, la redirection HTTP 301 pointe vers https://api.github.com/repositories/:id, Il y a donc de fortes chances que ces points de terminaison " ID " deviennent bientôt officiels.

36
répondu Andrew Newdigate 2015-06-01 17:46:21

Il N'y a pas de fonctionnalité documentée, ni de fonctionnalité non documentée que je connaisse, qui expose la récupération du nom d'utilisateur à partir de l'id. Du point de vue des consommateurs de L'API GitHub, l'id utilisateur est un "détail d'implémentation". La vraie clé est le nom d'utilisateur.

Ce que je comprends, vous n'avez besoin que d'un lot de noms d'utilisateur donné une liste d'id. Et ce serait une demande unique, pas un besoin permanent.

Comme votre demande semble légitime et limitée dans sa portée, vous pourriez obtenir cette réponse directement à partir du support GitHub en les déposant un e-mail à support@github.com.

En Effet, xpaulbettsx, un GitHubber, même tweeté à propos de ce:

Le Support@ est bon pour tout ce que vous voulez dire à GitHub-bugs, fonctionnalités, high 5s; tout sauf la sécurité qui va à security@

8
répondu nulltoken 2012-08-16 09:35:01