我正在寻找一种简单的方法来检索github上特定公共存储库的所有问题。
我找到了一个客户端库gh3,但我注意到它所做的一切都需要用户名。其次,它根本没有提到“问题”。
有关如何做到这一点的任何建议,我应该使用哪些库?
答案 0 :(得分:4)
以下是从github repo获取所有问题的一些基本代码。除了jQuery之外不使用任何库。
function getIssues(opts){
opts.data = opts.data || [];
opts.page = opts.page || 1;
var url = 'https://api.github.com/repos/' + opts.username + '/' + opts.repo;
url += '/issues?callback=?&page=' + opts.page + '&per_page=100&state=' + opts.state;
$.ajax(url, {
dataType: 'jsonp',
success: function(res){
if(res.meta && res.meta.status == '403'){
return opts.error(res.data);
}
opts.data = $.merge(opts.data, res.data);
if(res.meta && res.meta.Link){
if(res.meta.Link[0][1].rel == "next"){
opts.page++;
getIssues(opts)
} else {
opts.success(opts.data);
}
}
}
});
}
使用示例:
getIssues({
username: 'joyent',
repo: 'node',
state: 'open',
success: function(data){
console.log(data);
},
error: function(err){
console.log(err);
}
});
注意:如果您的请求未经过身份验证,则每小时限制为60个请求(每个IP地址)。 See here