Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:从公共回购客户端获取所有问题_Javascript_Github_Github Api - Fatal编程技术网

javascript:从公共回购客户端获取所有问题

javascript:从公共回购客户端获取所有问题,javascript,github,github-api,Javascript,Github,Github Api,我正在寻找一种简单的方法来检索github上特定公共存储库的所有问题 我找到了一个客户端库,但我注意到它所做的一切都需要用户名。其次,它根本没有提到“问题” 有什么建议吗?我应该使用哪个libs?下面是一些基本代码,可以从github回购中获取所有问题。除了jQuery之外,不使用任何库 function getIssues(opts){ opts.data = opts.data || []; opts.page = opts.page || 1; var url =

我正在寻找一种简单的方法来检索github上特定公共存储库的所有问题

我找到了一个客户端库,但我注意到它所做的一切都需要用户名。其次,它根本没有提到“问题”


有什么建议吗?我应该使用哪个libs?

下面是一些基本代码,可以从github回购中获取所有问题。除了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地址)

下面是一些基本代码,用于从github回购获取所有问题。除了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地址)