dougengqiu8031
dougengqiu8031
采纳率100%
2019-03-11 15:23

如何通过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.

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • dtvp3625 dtvp3625 2年前

    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 doutan1671 2年前

    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.

    点赞 评论 复制链接分享

相关推荐