Note
请考虑生成 GitHub App 而不是 OAuth app。 使用安装访问令牌的 GitHub Apps 的速率限制随存储库数和组织用户数而缩放。 相反,OAuth apps 的速率限制较低,并且无法缩放。 有关详细信息,请参阅 GitHub 应用和 OAuth 应用之间的差异 和 关于创建 GitHub 应用。
关于 OAuth apps 的速率限制
OAuth apps 在用户授权应用后使用用户访问令牌发出请求,从而代表用户执行操作。 有关详细信息,请参阅“授权 OAuth 应用”。
这些用户访问令牌的生成受到速率限制。 此外,使用这些用户访问令牌发出的 API 请求受到速率限制。
登录用户的速率限制
OAuth apps 应始终缓存其令牌,并且很少需要登录用户。 反复登录用户可能表明存在 bug,最常被视为应用和 GitHub 之间的无限循环。 如果应用在一小时内使用户登录十次,则同一小时内的下一次登录将需要对该应用程序重新授权。 这确保用户知道应用正在构建大量令牌,并且中断可能会发生的无限循环。 这 10 _个登录_速率限制不同于为 OAuth apps 强制执行的 10 个_令牌_限制。 有关 10 个令牌限制的信息,请参阅“授权 OAuth 应用”。
API 的速率限制
GitHub 对 OAuth app 在特定时间段内可以向 REST API 提出的请求数设置限制。 它还会对 OAuth app 在特定时间段内对 GraphQL API 进行的查询的点值设置限制。 除了这些主要速率限制之外,GitHub 可能还会应用次要速率限制。 这些限制有助于防止滥用和拒绝服务攻击,并确保系统仍可供所有用户使用。
有关详细信息,请参阅 REST API 的速率限制 和 GraphQL API 的速率限制和节点限制。