当前位置:  开发笔记 > 编程语言 > 正文

GitHub Api下载zip或tarball链接

如何解决《GitHubApi下载zip或tarball链接》经验,为你挑选了2个好方法。

这里有关于如何创建zip/tarball字符串的良好链接

当我从github下载一个zip时,文件名末尾的十六进制字符串代表什么?

但我正在看GitHub APIv3,如果我错过了什么,我很好奇.

    有没有办法通过API调用获取zip/tarball链接?

    如果没有,有没有办法可以在不使用git二进制文件或库的情况下构建该字符串?意思是,我可以使用各种AP​​I调用来提取需要的数据并汇编到我需要的URL吗?

我知道第二个问题对于stackoverflow来说有点不合理,这对我来说是一个有趣的项目,所以我更倾向于第二个问题,如果你只是把我推向正确的方向,而不是抛弃代码片段.或者只是告诉我是否有可能.



1> VonC..:

您可以wget通过GitHub仓库获取tar文件(存档):

wget --no-check-certificate https://github.com/User/repo/archive/master.tar.gz

# better, if the certificate authorities are present:
wget https://github.com/User/repo/archive/master.tar.gz

将从用户'用户'的回购'repo'中获取一个名为'master'的文件.

该更新的V3 API网址是:

https://api.github.com/repos/User/repo/:archive_format/:ref
#
# two possibilities for fomat:
https://api.github.com/repos/User/repo/tarball/master
https://api.github.com/repos/User/repo/zipball/master

# from github example:
$curl -L https://api.github.com/repos/octokit/octokit.rb/tarball > octokit.tar.gz

然后tar xpvf master,您可以获得完整的存档.
它将按照您提到的问题中描述的命名约定创建一个目录.

由于他们的下载服务"Nodeload",从GitHub获取存档不需要git二进制文件.


ligemer在编辑中提出以下示例:

编辑2016-08-25 - 使用Wget,Variables和Untar的Shell示例:

#!/bin/bash -ex

# arguments:
# token = $1
# organization = $2
# repo name = $3
# branch = $4

wget --header="Authorization: token ${1}" --header="Accept:application/vnd.github.v3.raw" -O - https://api.github.com/repos/${2}/${3}/tarball/${4} | tar xz

致电:

$ scriptName.sh token my-organization site.com master

上面的命令将下载Github文件夹并将其解压缩到与脚本相同的目录中.


Diogo Quintela 在评论中建议:

以下示例允许下载,提取和剪切顶级目录

curl -L https://api.github.com/repos/octokit/octokit.rb/tarball | tar xz --strip=1 


如果存储库是私有的呢?无论如何要在这种情况下获得拉链球?

2> krlmlr..:

语法在文档中描述:

GET /repos/:owner/:repo/:archive_format/:ref

以下示例URL将指向(通过302重定向)到hadley/devtools repo master中的zip存档:

https://api.github.com/repos/hadley/devtools/zipball/master

(另一种选择archive_formattarball.)

我不知道这个API何时可用.

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有