我试图通过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.
再次没有返回用户的私有存储库。 我正在尝试获取当前用户的私有存储库。 但是只有他们帐户下的那些。
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.
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.