Ruby on rails 在Github api查询中获取所有repo

Ruby on rails 在Github api查询中获取所有repo,ruby-on-rails,ruby,api,github,repository,Ruby On Rails,Ruby,Api,Github,Repository,我将以下查询连接到rails应用程序。它似乎一次只返回30个项目,即使每_页面数有所增加。但是,如果我通过浏览器提出相同的请求,我会得到预期的项目数 https://api.github.com/search/repositories?q=license:gpl+许可证:lgpl+许可证:gpl+许可证:mit+分叉:0+星:1..2000+推送:%3E2019-12-11+语言:ruby+语言:javascript&per_page=100 控制器: def request_projects

我将以下查询连接到rails应用程序。它似乎一次只返回30个项目,即使每_页面数有所增加。但是,如果我通过浏览器提出相同的请求,我会得到预期的项目数

https://api.github.com/search/repositories?q=license:gpl+许可证:lgpl+许可证:gpl+许可证:mit+分叉:0+星:1..2000+推送:%3E2019-12-11+语言:ruby+语言:javascript&per_page=100

控制器:

def request_projects
    api_key = Rails.application.credentials.dig(:github)
    query = "#{Project::LICENSES}+#{Project::FORKS}+#{Project::STARS}+#{Project::DATE}+#{Project::LANGUAGES}"
    uri = URI.parse("#{Project::GITHUB_BASE_URL}?q=#{query}&client_secret=#{api_key[:secret]}&per_page=100")
    res = Net::HTTP.get_response(uri)
    Project.create_from_request(res.body)
  end
型号:

def self.create_from_request(request_body)
    data = JSON.parse(request_body, symbolize_names: true)
    data[:items].each do |item|
      name = item[:name]
      owner = item[:owner][:login]
      url = item[:html_url]
      stars = item[:stargazers_count]

      Project.create(name: name, owner: owner, url: url, stars: stars) if !Project.exists?(name: name, owner: owner)
    end
  end

没有提到任何地方在每_页。你可以请附加在一个要点文件的res.body和添加链接的链接。我试过从浏览器、curl和rails控制台返回100个结果,其中url在您的问题中提到。谢谢。嗨,阿兹玛特拉纳,这里是要点。可以我只是数了数结果,结果是100。但出于某些原因,目前只创建了一小部分项目。大概20或30岁。所以我的问题不是api调用本身,而是
项目。创建
@MishaKrul有更新吗?