跳至主要内容

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 的速率限制和节点限制”。

进一步阅读