GitHub API:获取单个GET请求中的所有文件夹和文件

Sco*_*ott 11 github github-api

在GitHub API中,我可以发出GET请求

https://api.github.com/repos/owner/repo/git/trees/master?recursive=1

以递归方式获取存储库的所有树.除了给我所有目录,它还提供了我可用于下载单个文件的URL:

[...]
{
    "mode": "100644",
    "type": "blob",
    "sha": "abc1234",
    "path": "path/to/file.txt",
    "size": 104361,
    "url": "https://api.github.com/repos/owner/repo/git/blobs/abc1234"
},
[...]
Run Code Online (Sandbox Code Playgroud)

虽然recursive=1这篇文章阻止我不得不对存储库中的每个目录发出新的GET请求,但我仍然需要为每个文件单独调用.我查看了GitHub API文档,但他们没有提供这样做的方法.很可能根本没有办法在单个请求中获取所有文件和文件夹,但我想在这里要求验证我没有其他选择.

Iva*_*zak 7

使用单个请求执行此操作的唯一方法是将当前内容作为存档获取:http: //developer.github.com/v3/repos/contents/#get-archive-link

实际上,这是2个请求,因为初始响应是302重定向.