使用GitHub API V3从组织获取私人回购

我无法获得和组织私人回购。 我在这个方法中使用API​​ V3: http : //share.jjnford.com/HhIZ

我正在使用jQuery.getJSON命令并将我的OAuth2访问令牌传递给API URL,但我只返回公共存储库。

此外,如果我将私有组织存储库分配到用户帐户(上下文)并拉出用户存储库,则除了从组织分叉的私有存储库之外,所有存储库(公共和私有)都会显示。

任何人都可以帮我解决这个问题……这是我的最后一个障碍……

提前致谢!

我找到了问题并予以纠正。 根据GitHub API V3 ,可以使用多个范围 。 似乎“用户”范围不再有效。 一旦我只使用“repo”范围,所有内容都被正确检索(私有org repos和私有分叉org repos)。

我当时找不到正确的答案,我不想要求范围“repo”,因为它对我的应用程序来说太过分了,它要求代码读/写permssions。 这对我有用(我使用Ruby和octokit gem( https://github.com/octokit/octokit.rb )),特别感谢来自github dev支持的Ivan:

1.-在Oauth期间,请求“读取:org”范围并从Github获取Oauth 2令牌

2.-初始化octokit的客户端:

client = Octokit::Client.new(access_token: my_oauth2_token) 

3.-检索用户的组织,我们可以这样做,因为“读取:组织”范围

 organizations = client.organizations 

4.-对于每个组织,检索此用户所属的Github管理员团队。 然后,使用此团队检索可用的回购

 organizations.each do |organization| admin_team = client.organization_teams(organization[:id]).select { |repo| repo[:permission] == 'admin' }.first org_repos << client.team_repositories(admin_team[:id]) end 

是的,您肯定需要更多的请求来收集所有可用的回购,但正如我之前所说,在我的情况下,我不想要求“用户”范围。

注意:是的,用户必须是给定组织内“管理”团队的成员才能看到私人回购。