为超过 100 万开发者提供专业的 API 服务,所有 API 均提供免费的服务

达到每月 API 请求限制时会发生什么情况?

您是否曾经达到过每月 API 速率限制?如果没有,请认为自己很幸运。这是使用API服务的最大痛苦之一。你的应用用户都对使用 API 感到满意,在你的应用变得太受欢迎之前,一切都很顺利。然后,突然之间,你开始受到限制。现在,您需要争先恐后地弄清楚发生了什么,以及如何在事情爆炸之前解决它。

如果要构建代表最终用户生成数据或触发操作的应用程序,则应了解所使用的 API 的限制。这些限制可能会阻止应用程序正常工作,甚至导致应用程序中断。

本文的目的是让您了解 API 速率限制,并为您提供有关如何处理这些限制的一般建议。

什么是 API 限制?

让我们首先明确定义“API 限制”的含义。

API 提供程序是提供对应用程序编程接口 (API) 的访问的组织。API 是一组用于构建软件应用程序的例程、协议和工具。

您的应用程序向 API 提供商的服务器提交请求,要求提供有关如何与属于同一生态系统的其他服务进行交互的信息或说明。

为确保服务正常运行,提供商会对每分钟或每小时可以发出的请求数施加限制。通过这种方式,他们可以管理负载并为每个请求提供最佳服务。

API 速率限制是应用程序在指定时间段内可以进行的 API 调用或请求数。除了进行并发 API 调用之外,主动轮询和快速配置更新还可能导致应用程序受到速率限制。

什么是 API 请求?

API 请求是您从 API 请求数据时遵循的方法。您可以使用请求发送您希望 API 处理的信息。

例如,您可以使用 API 请求从服务器或应用程序请求您的配置文件或用户信息。您还可以使用它来发送您希望 API 处理的数据。

有两种类型的 API 请求:GET 和 POST。

  • GET 请求 – 此类型的请求从服务器检索数据。当您在浏览器中键入网站 URL 并按 Enter 键时,您正在执行 GET 请求。
  • POST 请求 – 此类型的请求将数据发送到服务器或应用程序。当您在网站上提交表单时,表单中的信息将作为 POST 请求的一部分发送。

API 可以接收或发送信息。当 API 从服务器或应用程序请求数据时,它会收到响应。API 终结点是 API 连接到 Web 服务的点。它允许 API 访问由 HTTP 查询字符串表示的服务器上的数据。将 API 终端节点添加到 URL 并调用服务器时,将发生请求。

对于每个请求,您都会收到一个具有 HTTP 状态的响应。这告诉您该操作是否成功。发出的不成功请求(无论是超出速率限制还是在短时间内发出太多请求)都会收到 HTTP 429“请求过多”响应状态代码。

如何接受或拒绝 API 请求?

所有 API 终结点都经过身份验证。身份验证确定最终用户是谁,并计算用户发出的请求数。

授权令牌或密钥是身份验证机制中最终用户的标识凭据。使用电子邮件的基本身份验证还可以确定最终用户是谁。

应用程序权限使用标识凭据来确定是应接受还是拒绝请求。

身份验证令牌或密钥将最终用户标识为应用程序的所有者。即 JSON Web 令牌 (JWT) 或不透明的字符串令牌。生成的每个 API 令牌都是单独计算的,即使应用程序最终用户多次生成也是如此。如果 API 速率限制用尽,则新的 API 请求将失败。

为什么 API 提供程序使用限制?

每个 API 提供商都会限制其服务的某些部分。限制是为了保护您的安全,但它们也可能令人沮丧。了解这些限制背后的原因将帮助您避免任何意外。

  1. 防滥用保护

API提供商使用限制的主要原因之一是对使用其服务的每个人公平。他们必须小心分配多少带宽,就像任何其他公司必须注意他们为服务器上托管的网站分配多少带宽一样

  1. 降低成本

限制还有助于保护提供商免受客户意外的高额账单的影响,这些客户在没有预料到的情况下使用了太多资源。一些公司通过使用比他们应该使用的更多的带宽来支付巨额账单 – 然后在提供商试图切断它们时拒绝偿还。通过施加限制,他们有希望完全避免这种情况。

  1. 加密密钥

某些 API 使用密钥来标识其服务的用户。如果密钥受到限制,则可确保没有重复的密钥,并且只有一个用户可以访问你的服务。此类密钥的一个示例是跟踪用户在网站内活动的会话 Cookie。

如果 API 调用用完,应用程序或网站会发生什么情况?

在典型应用程序上,当您的 API 调用用完时,您的应用程序将停止工作。这将发生在 Web 上运行的任何应用程序上。以下是您会注意到的常见事项:

  1. 状态/错误代码

达到 API 限制时发生的第一件事是,您的软件会从 API 提供程序获得状态/错误代码。

  • 您无法再检索数据。相反,您将收到 HTTP 代码,如 403(禁止访问)或 500(内部服务器错误)。
  • 如果尝试直接通过 IP 或域访问终结点,它们将返回 HTTP 503(服务不可用)状态代码。

在解决 API 限制问题之前,每次软件尝试调用 API 服务时,都会使用相同的状态代码为其提供服务。

  1. 暂停 API 服务

接下来,API 服务将停止为应用程序/网站提供 API 函数和数据。当您登录到 API 提供商用户仪表板时,您可能会注意到有一条消息,指出:

您已超出每月请求限制。 您当前的订阅计划在此期间不允许任何其他 API 请求。为了最大限度地减少服务中断,您可能需要考虑升级订阅计划。

克服 API 速率限制的 3 个步骤

API 调用不足可能会导致应用程序或网站出现严重问题。它甚至可能导致它无限期地脱机。如果您在 API 调用方面运行不足,则可能需要考虑以下方法来防止这种情况发生。

使用量超过 API 调用次数后,有两个选项:

  1. 获取 API 速率限制状态

如果您使用的是付费计划,那么您可能已经熟悉 API 速率限制状态。但是,如果您使用的是免费帐户,则可能会首次遇到 API 速率限制。

许多服务的 API 返回具有当前速率限制状态的 HTTP 标头。如果您要执行大量请求,则应在每个请求上检查此标头,以确保不超过速率限制。

此外,还可以通过转到开发人员控制台,单击“API 访问”,然后查看“速率限制”部分来查找 API 速率限制状态。

在这里,您将看到每日配额以及今天到目前为止已发出的请求数。

  1. 购买更多 API 调用

现在您知道了如何检查 API 限制,但是如果您已经达到了这些限制,该怎么办?下一步是从服务提供商处购买更多 API 调用。不同计划的成本各不相同,取决于几个因素。但是,您可以随时查看服务提供商的官方网站,以获取有关您可以购买多少以及费用的更多信息。

  1. 将应用放入企业计划中

如果要构建可扩展的应用程序,则需要从一开始就考虑到增长。未能规划 API 使用情况可能会导致您达到速率限制。

若要防止出现此问题,让应用访问企业计划的高付费级别至关重要。在企业计划中,您可以预先支付更高的容量。此方法的优点是,你的应用不会因为已为足够的容量付费而耗尽请求令牌并被关闭。

如果你的应用在企业计划中,则可以预先购买额外的容量。该程序允许您拥有更高的配额,因此您不必担心从其他应用程序或大量下载中达到配额限制。如果它不在企业程序中,你可以将其从自由程序切换到企业程序。

Last Updated on 2022-07-12 by admin