有没有一种方法可以构建可扫描远程GitHub存储库的Node.js应用程序? 我需要从我有权访问的每个远程GitHub存储库中提取特定文件(例如Read.me文件),然后将其下载到特定文件夹中。还是我应该先使用Node.js应用代码克隆每个存储库?
答案 0 :(得分:1)
您可以使用Node.js克隆github成员的任何存储库。顺便说一句,Github API需要用户代理进行请求。
依赖项:Request,Child Process
const request = require("request");
const cProcess = require("child_process");
const g_username = "afulsamet"
const u_agent = "Test User Agent"
request.get(`https://api.github.com/users/${g_username}/repos`, { headers: { "User-Agent": u_agent } }, function (err, res, body) {
JSON.parse(body).map(x => {
cProcess.spawn("git", ["clone", x.git_url, x.name]) // git clone {repos_git_url} {folder_name}
})
});
答案 1 :(得分:0)
如果每个仓库仅需要一个文件,并且它们都是公开的,则可以使用以下格式向原始git url发出http请求,https://raw.githubusercontent.com/{username}/{repo}/{branch}/{pathtofile}
的简单示例为:
const http = require('http');
http.get('https://raw.githubusercontent.com/nodejs/node/master/README.md', function(response) {
// do something with response, pipe to another file etc.
});