dougengqiu8031
2019-03-11 15:23
采纳率: 100%
浏览 733
已采纳

如何通过GitHub API列出用户的GitHub存储库

我试图通过GitHub API列出用户的私有存储库。我现在对GitHub的请求如下:

https://api.github.com/users/username/repos?sort=updated&direction=desc&visibility=all

它确实返回用户的存储库,但不返回私有存储库。 最初,我认为问题出在我的OAuth令牌上的scopes选项。 我的应用程序中目前有以下设置。

'user',
'repo',
'repo_deployment',
'admin:repo_hook',
'admin:org_hook',

但是,即使我在dev框上设置了所有scope选项,也可以看到所有公共存储库,但看不到用户的私有存储库。 我也尝试过从网址中删除所有参数。 因此,请求如下:

https://api.github.com/users/username/repos

Which again did not return the user's private repositories.

再次没有返回用户的私有存储库。 我正在尝试获取当前用户的私有存储库。 但是只有他们帐户下的那些。

图片转代码服务由CSDN问答提供 功能建议

我正在尝试通过GitHub API列出用户的私有存储库。 我正在向GitHub提出的请求如下。

  https://api.github.com/users/username/repos?sort=updated&direction=desc&  ; visibility = all 
   
 
 

它确实返回用户的存储库,但不返回私有存储库。 起初我认为问题出在我的OAuth令牌上的范围选项上。 我目前在我的应用程序中有以下设置。

 'user',
'repo',
'repo_deployment',
'admin:repo_hook',
  'admin:org_hook',
   
 
 

但即使我在开发框中设置了所有范围选项,我也会看到所有公共存储库,但没有用户私有 那些。 我也尝试从网址中删除所有参数。 所以请求如下。

  https://api.github.com/users/username/repos
   
 \  n 

它再次没有返回用户的私有存储库。

我正在尝试获取当前用户的私有存储库。 但只有他们帐户下拥有的那些。

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dtvp3625 2019-03-11 16:16
    已采纳

    You are using the wrong endpoint for this. You are after the following endpoint instead:

    https://developer.github.com/v3/repos/#list-your-repositories

    https://api.github.com/user/repos
    

    List repositories that the authenticated user has explicit permission (:read, :write, or :admin) to access. The authenticated user has explicit permission to access repositories they own, repositories where they are a collaborator, and repositories that they can access through an organization membership.

    I've just tested it and this returns your private repositories.

    Hope this helps.

    打赏 评论
  • doutan1671 2019-03-11 16:26

    You may have to authorize yourself for permission of listing your private repositories.

    Get an OAuth Token from the account (or from the OAuth Authorizations API), then add the token as a GET parameter (in query string ?access_token=OAUTH-TOKEN) or a HTTP header (Authorization: token OAUTH-TOKEN) of your request, you may have permission for your need.

    打赏 评论

相关推荐 更多相似问题