Est-il de toute façon à récupérer par programmation un zipball de privé dépôt github?
Nous avons obtenu une nécessité d'aller chercher un zipball privé de pensions de titres. Pour le public, c'est assez facile soit par le biais d'API GitHub ou manuellement (https://github.com/user/repo/zipball/master). Mais qu'en est privé de repos? Pas exactement évident comment le faire même en ayant jeton oAuth.
- qu'est-ce que cette "Zipball" pouvez-vous svp me donner peu plus de description.
- C'est un fichier zip.
Vous devez vous connecter pour publier un commentaire.
Nouvelle Alternative
Parce que la donnée a accepté de répondre ne fonctionne plus, j'ai pensé que je voudrais expliquer comment j'ai été capable de le faire avec les nouveaux changements dans l'API github.
La nouvelle Api de Téléchargement Lien
Tout d'abord, j'ai trouvé des informations sur le téléchargement de l'archive ici:
https://developer.github.com/v3/repos/contents/#get-archive-link
Public Des Pensions De
Si c'est un public de pensions, alors il est très facile... vous pouvez faire:
Privé Des Pensions De
Si c'est un privé repo, vous devez créer un jeton oAuth en allant dans vos paramètres et en sélectionnant "paramètres de Développeur" /"Personnels des jetons d'accès".
J'ai créé un personnel jeton.
Puis en utilisant les instructions sur la page suivante, j'ai trouvé comment obtenir privés de pensions de titres que vous avez la permission de:
https://developer.github.com/v3/#authentication
Code Complet
Assurez-vous de remplacer
ab499f3b...
avec votre jeton.Je suis tombé sur le même problème et cela a fonctionné pour moi (en Février 2015):
OAuth comme en-tête solutions ne marche pas pour moi, mais ce qui a fonctionné a été la farce de la clé dans le nom d'utilisateur et spécifier le type. Il a ensuite donné un 302 de rediriger avec le bon lien.
Détaillé commande m'a vraiment aidé à résoudre si les informations d'identification que j'utilisais étaient acceptés ou pas (404 vs 401)
Edit: Cela ne fonctionne plus.
avec CURL:
où
$TOKEN
est la clé API sur votre profil github, pas un oAuth2 jeton utilisé pour communiquer avec le APIv3.$USER
est le compte d'utilisateur que le jeton est connecté avec, pas nécessairement de l'organisation/d'autres utilisateurs les pensions de appartient à. Deuxième Exemple de$USER
est l'utilisateur/compte le repo est.$REPO
est le nom du repository privé$PKGTYPE
est tarball ou zipballet
$BRANCHorTAG
est une branche, comme le maître, ou un nom de balise pour une livraison.La première instance de
$USER
doivent avoir accès à des pensions de titres appartenant à la deuxième instance de$USER
.Je ne pouvais pas trouver ce document n'importe où, donc j'ai aussi un peu d'écrire à ce sujet si vous voulez quelque chose de plus détaillé.
Je ne semblez pas avoir de problème pour obtenir un zipball du privé repos pour le téléchargement. J'utilise le même format que vous avez spécifié et il fonctionne parfaitement.
- Je utiliser OAuth2 pour obtenir les référentiels, mais je construire le lien pour le zip de la balle en utilisant le format que vous avez donné. Voici l'application Je ne ce à.
Si vous êtes à la recherche pour obtenir un OAuth2 jeton, il suffit d'utiliser la GitHubt API v3 format, c'est assez simple. Bien que cela ne correspond pas à votre problème exactement :
Cette est de savoir comment j'obtiens une OAuth2 jeton à partir de GitHub pour cette extension chrome
Mise à JOUR
@jayarjo - Je construire l'URL ici, sur la ligne 202. Je viens de construire l'URL comme celui que vous avez spécifié, le OAuth2 jeton n'est même pas utilisé pour ça. Tous mes jeton me permet de le faire est de récupérer toutes les données privées des utilisateurs avant que je créer le balisage. Mais il fonctionne sans problème...
Je pense que la raison pour laquelle je suis réellement en mesure de télécharger le zipball est parce que l'URL est en fait à https://github.com/* et parce que je suis actuellement signé en raison de la OAuth2 j'ai l'autorisation pour se rendre à cette URL - où, comme il semble que vous n'avez pas si vous obtenez une erreur 404.
Vous pouvez essayer d'envoyer une demande à la page et si vous obtenez un message d'erreur et demande à l'utilisateur de se connecter en premier, puis lorsque vous demandez le zipball vous devriez l'obtenir sans problème.
Vous pouvez utiliser l'Authentification de Base ou un Jeton en fonction de la méthode. Voir https://help.github.com/articles/downloading-files-from-the-command-line pour plus de détails.