В API GitHub я могу выполнить запрос 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, но они не предоставляют способ сделать это. Очень вероятно, что просто нет способа получить все файлы и папки в одном запросе, но я хотел попросить здесь подтвердить, что у меня нет другого варианта.