Github api 未列出私人回购

Github api not listing private repos

我正在尝试获取我帐户中的所有回购协议,我有几个私人回购协议和 1 个 public 回购协议,我向此端点发出了一个获取请求 https://api.github.com/users/$user/repos,但我只得到了public 回购,我有我的回购范围令牌,我使用授权类型承载但它只是不会显示私人回购,你知道我错过了什么吗?

私有存储库未在 /users/$user/repos API 中列出,这有点出乎意料,因为 the documentation"允许获取 public以及有关经过身份验证的用户的私人信息

但您可以通过 /user/repos endpoint 检索它们,其中列出了 “经过身份验证的用户具有明确访问权限的存储库。”

这将包括您拥有的所有存储库,而不仅仅是您自己的。您当然可以在结果中按 owner.loginfull_name 进行过滤以获得您想要的结果,但您也可以通过向 URL 添加查询字符串 ?type=private 来立即查询.

示例 Python 代码:

import requests
token = "****"
url = "https://api.github.com/user/repos?type=private"
headers = {
    "Authorization": f"token {token}",
    "Accept": "application/vnd.github.v3+json"
}
r = requests.get(url, headers=headers)
for repo in r.json():
    print(repo["name"])