Github 应用程序如何列出用户的私有存储库?

How can a Github App list a user's private repositories?

我正在尝试通过 github 应用列出用户的私有 github 存储库。

(注意:我目前没有使用 OAuth,我正在寻找用户的存储库,而不是组织的存储库。)

我正在尝试使用安装客户端进行此 API 调用,即使用特定于应用程序安装的客户端并使用 JWT 和我的私钥。

这是我请求的端点:

https://api.github.com/user/repos?per_page=100&visibility=private

这会产生以下响应:

{
  "message":"Resource not accessible by integration",
  "documentation_url":"https://docs.github.com/rest/reference/repos#list-repositories-for-the-authenticated-user"
}

/user/repos 未在 list of valid app endpoints 中列出,所以我并不奇怪这不起作用。

一旦用户安装了我的应用程序,我该如何列出他们的私有存储库?

执行此操作的方法是调用 /installation/repositories 端点。一个“安装”可能可以访问许多用户的许多存储库,而这个端点将包含所有用户。

此端点记录在此处:https://docs.github.com/en/rest/reference/apps#list-repositories-accessible-to-the-app-installation