注意:请考虑生成 GitHub App 而不是 OAuth App。 使用安装访问令牌的 GitHub App 的速率限制随存储库数和组织用户数而缩放。 相反,OAuth App 的速率限制较低,并且无法缩放。 有关详细信息,请参阅“GitHub 应用和 OAuth 应用之间的差异”和“关于创建 GitHub 应用”。
关于 OAuth Apps 的速率限制
GitHub 对 OAuth App 在特定时间段内可以发送到服务器的请求数设置限制。 此限制有助于防止滥用和拒绝服务攻击,并确保系统仍可供所有用户使用。
GitHub 可能会向某些操作应用其他辅助速率限制来确保 API 可用性。 可以遵循最佳做法并遵守下面列出的速率限制准则来避免辅助速率限制。 有关辅助速率限制的详细信息,请参阅“集成者最佳实践”和“REST API 中的资源”。
OAuth Apps 在用户授权应用后使用用户访问令牌发出请求,从而代表用户执行操作。 来自 OAuth Apps 的用户访问令牌请求使用 OAuth 令牌进行身份验证。 有关详细信息,请参阅“授权 OAuth 应用”。
确定 OAuth App 的速率限制
注意:你可以在任何时候确认你当前的速率限制状态。 有关详细信息,请参阅“REST API 中的资源”。
OAuth Apps 限制为每个经身份验证的用户每小时 5,000 个请求。 来自用户授权的 OAuth Apps 或用户拥有的 personal access token 的所有请求,以及使用任何用户的身份验证凭据进行身份验证的请求,都共享该用户每小时 5,000 个请求的相同配额。
如果符合以下两项,则 OAuth Apps 受制于每个经身份验证的用户每小时 15,000 个请求的更高限制:
- 请求来自由 GitHub Enterprise Cloud 组织拥有或批准的 OAuth App。
- 经过身份验证的用户是 GitHub Enterprise Cloud 组织的成员。
有关速率限制的详细信息,请参阅 REST API 文档中的“REST API 中的资源”和“速率限制”。
延伸阅读
- GraphQL API 文档中的“资源限制”