web-dev-qa-db-fra.com

Obtenez le nom d'utilisateur github par id

En utilisant ce lien, je peux voir que mon identifiant (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 car c'est une longue histoire et cela ne rentrera pas dans un commentaire.

FreedomSponsors est une application Django qui utilise Django-social-auth pour activer la connexion avec Github (et autres). (Vous devriez le vérifier, btw, veuillez consulter 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 dans 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 identifiants github, mais pas leurs noms d'utilisateur.

Vous pouvez voir dans mon profil que j'ai github comme "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 son nom, je simplifie simplement ici) sur true. Mais je voudrais patcher la base de données avec les utilisateurs déjà enregistrés sur github. J'ai leurs identifiants github, mais pas leurs noms d'utilisateur github.

36
Tony Lâmpada

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 donc à vos risques et périls, mais cela fonctionne pour l'instant.

Utilisez 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 référentiels 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 l'API d'aperç ne prend en charge que les référentiels, pas les utilisateurs ou organisations renommés. En fait, la redirection HTTP 301 pointe en fait sur https://api.github.com/repositories/:id, il y a donc de fortes chances que ces points de terminaison "ID" deviennent en fait bientôt officiels.

54
Andrew Newdigate

Il n'y a aucune fonctionnalité documentée, ni non documentée à ma connaissance, qui expose la récupération du nom d'utilisateur à partir de l'ID. Du point de vue du consommateur de l'API GitHub, l'ID utilisateur est un "détail d'implémentation". La vraie clé est le nom d'utilisateur.

D'après ce que je comprends, vous n'avez besoin que d'un lot de noms d'utilisateurs étant donné une liste d'identifiants. Et ce ne serait qu'une seule demande, pas un besoin permanent.

Comme votre demande semble légitime et limitée dans sa portée, vous pouvez obtenir cette réponse directement du support GitHub en leur envoyant un e-mail à [email protected].

En effet, xpaulbettsx , un GitHubber, voire tweeté à ce sujet:

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

8
nulltoken