使用 GitHub API 支持列出私有存储库并使用状态 API 时设置的最小范围是多少?

What is the minimum scope set when using GitHub API to support listing private repositories and using the status API?

我的情况是,鉴于用户授予访问权限的组织,我想列出用户的私有存储库。目的是提供状态 API 集成。

我在我的应用程序中使用 user:email 范围作为一种标识形式,因此我请求将其与 reporead:org 一起使用。我试图使用 repo:status 而不是 repo,但我似乎无法通过这种方式获得私人回购列表。

所以,我的最后一组范围是:

user:email
repo
read:org

这是所需的最小范围集,还是我错过了一个限制性更强的组合,该组合无需对存储库的写访问权限即可工作?

你的范围几乎是正确的。如果您有 repo,则不需要 read:org 范围来列出组织。

有点恼人的是,即使 public 有单独的读取和写入范围,也没有授予对 private 存储库的只读访问权限的范围。如果还不允许通过 repo 范围写入,则无法读取私有存储库。

您对 repo:status 的看法也是正确的——此范围用于与提交状态交互,但无法查看存储库的内容,例如像 Travis 这样的 CI 服务。