Pygithub: get_repo envoie 404 pour les dépôts des organisations

Créé le 6 mars 2017  ·  7Commentaires  ·  Source: PyGithub/PyGithub

Salut,

J'ai du mal à appeler get_repo avec le nom d'un dépôt auquel j'ai accès dans une organisation.

Voici ce que je fais simplement :

repo = me.get_user().get_repo(name_of_organization_repo_i_have_access_to)

Voilà ce que j'obtiens :
github.GithubException.UnknownObjectException: 404 {'documentation_url': 'https://developer.github.com/v3', 'message': 'Not Found'}
Cela fonctionne très bien avec un repo associé à mon propre compte. Mais dès que j'en ai besoin d'une organisation, elle échoue.

Ce qui m'est étrange, c'est que :

repos = me.get_user().get_repos()

Affiche le référentiel dans la liste comme prévu.

Est-ce que j'ai raté quelque chose d'évident ?

Commentaire le plus utile

@mlainez En fait, il semble que nous devrions utiliser la méthode get_repo() sur la classe principale. Ce serait donc :

 >> g = Github("utilisateur", "mot de passe")
 >> repo = g.get_repo("Org/RepoName", paresseux=False)
 >> dépôt 
 Référentiel(full_name="Org/RepoName")

Tous les 7 commentaires

+1 J'ai le même problème. Le problème est que cette ligne définit explicitement l'utilisateur comme l'utilisateur authentifié. Je n'arrive pas à trouver une autre méthode dans l'API qui nous permette d'accéder au référentiel par nom complet.

https://github.com/PyGithub/PyGithub/blob/master/github/AuthenticatedUser.py#L851

@mlainez En fait, il semble que nous devrions utiliser la méthode get_repo() sur la classe principale. Ce serait donc :

 >> g = Github("utilisateur", "mot de passe")
 >> repo = g.get_repo("Org/RepoName", paresseux=False)
 >> dépôt 
 Référentiel(full_name="Org/RepoName")

J'ajouterai probablement ceci à une page d'utilisation d'exemple.

J'essaie la solution de @RichardJTorres , mais j'obtiens toujours un 404. Peut accéder aux dépôts non privés, mais pas aux dépôts d'organisation.

Ah, le problème était que je n'avais pas donné les bonnes autorisations au token. Dégager.

Ah, le problème était que je n'avais pas donné les bonnes autorisations au token. Dégager.

@PedroGFonseca vous souvenez-vous des autorisations dont le jeton avait besoin pour cela ? Je rencontre le même problème.

@thecturner Cela fonctionne pour moi avec la portée repo .

Cette page vous a été utile?
0 / 5 - 0 notes