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を調べましたが、これを行う方法が示されていません。1回のリクエストですべてのファイルとフォルダを取得する方法がない可能性が非常に高いですが、他に選択肢がないことを確認するためにここで質問したいと思います。