跳至主要内容

OAuth 应用的速率限制

速率限制限制了对 GitHub.com 的流量速率,以帮助确保所有用户都能一致地访问。

注意:请考虑构建 GitHub 应用而不是 OAuth 应用。使用安装访问令牌的 GitHub 应用的速率限制会随着存储库数量和组织用户数量的增加而增加。相反,OAuth 应用的速率限制较低,并且不会随着数量的增加而增加。有关更多信息,请参阅 "GitHub 应用和 OAuth 应用之间的区别" 和 "关于创建 GitHub 应用"。

关于 OAuth 应用的速率限制

OAuth 应用代表用户执行操作,在用户授权应用后,使用用户访问令牌发出请求。有关更多信息,请参阅 "授权 OAuth 应用"。

这些用户访问令牌的生成受速率限制。此外,使用这些用户访问令牌发出的 API 请求也受速率限制。

用户登录的速率限制

OAuth 应用应始终缓存其令牌,并且很少需要登录用户。反复登录用户可能表明存在错误,最常见的是应用和 GitHub 之间的无限循环。如果应用在一小时内登录用户十次,则在同一小时内进行的下次登录将需要重新授权应用程序。这确保用户知道应用正在生成如此多的令牌,并在可能发生的无限循环中提供一个中断。此十次登录速率限制与 OAuth 应用也强制执行的十次令牌限制不同。有关十次令牌限制的信息,请参阅 "授权 OAuth 应用"。

API 的速率限制

GitHub 限制了 OAuth 应用在特定时间段内可以向 REST API 发出的请求数量。它还限制了 OAuth 应用在特定时间段内可以向 GraphQL API 发出的查询的点数。除了这些主要速率限制外,GitHub 还可以应用次要速率限制。这些限制有助于防止滥用和拒绝服务攻击,并确保系统对所有用户可用。

有关更多信息,请参阅“REST API 的速率限制”和“GraphQL API 的速率限制和节点限制”。

进一步阅读