【发布时间】:2013-02-06 14:28:09
【问题描述】:
在 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"
},
[...]
虽然recursive=1 块使我不必为存储库中的每个目录发出新的 GET 请求,但我仍然必须对每个文件进行单独调用。我查看了GitHub API Docs,但他们没有提供这样做的方法。很可能根本没有办法在单个请求中获取所有文件和文件夹,但我想在这里询问以确认我没有其他选择。
【问题讨论】:
-
请提供一些信息,为什么您需要所有文件。您是在某些服务器端应用程序上使用它们,还是在浏览器中调用它们?
-
我需要导入存储库中的所有文件以在其关联的网站上显示它们。它是通过 Git 更新并导入网站的文档文件的集合。
-
怎么导入的?为什么需要使用 API 而不是下载 zip,或者只是克隆项目?
-
我目前正在导入 zip 文件,如果我需要重新使用 REST API,将返回此问题。另外,我为什么需要这样做真的很重要吗?我只是在寻找如何做的答案......
标签: github github-api