有人能解释我或提供一些教程来获取github中某个特定的提交细节吗?我看到了这,我不知道如何使用它。
发布于 2014-01-30 12:53:19
你可以看看我的文章:
http://ondrek.me/articles/how-to-parse-github-API-in-nodejs/
这是NodeJs way
(对于客户机js,将require("https")转换为client代码非常模拟)
快速示例链接用于用户ONDREK的repo
https://api.github.com/repos/ondrek/mdown/git/refs/heads/
如何向Github 发出请求
var options = {
user : 'ondrek',
repo : 'favicon-blog',
branch : 'master'
};
function getHttpRequestJson(customPath, callback){
require('https').request({
hostname: 'api.github.com',
path: customPath,
method: 'GET'
}, function(res){
var data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
callback(JSON.parse(data));
});
}).end();
}如何从Github 获取用户详细信息json
(inject previous code)
var url = '/repos/'+options.user+'/'+options.repo+'/git/refs/heads/'+options.branch;
getHttpRequestJson(url, function(userJson){
var lastCommitUrl = userJson.object.url;
getLastCommit(lastCommitUrl);
});如何从Github 获得最后提交json
(inject previous code)
function getLastCommit(url){
getHttpRequestJson(url+auth, function(lastCommitJson){
var treeUrl = lastCommitJson.tree.url;
getTree(treeUrl);
});
}如何从Github 中获取最后提交树
(inject previous code)
function getTree(url){
getHttpRequestJson(url+auth, function(treeJson){
var treeArr = treeJson.tree;
getOnlyPages(treeArr);
});
}如何从 API中获取上次提交的特定文件夹
(inject previous code)
function getOnlyPages(treeArr){
treeArr.forEach(function(ele){
if (ele.path==='blog') { getArticles(ele.url); }
});
}
function getArticles(url){
getHttpRequestJson(url+auth, function(treeJson){
var treeArr = treeJson;
parseMarkdownArticles(treeArr.tree);
});
}https://stackoverflow.com/questions/21454641
复制相似问题