在不同设备上使用相同 google 客户端的 Youtube 数据 API 配额

Youtube data API quota on using the same google client on different devices

当前 youtube API 配额为 10,000 units/day。

那么,如果我创建了一个应用程序,并且这个应用程序在 100 台不同的设备上安装了 100 个副本,并且它们都使用不同的 IP,那么每台设备的配额是 10,000 units/day(1 百万/天)还是这10,000个单位会分配给不同的副本吗?

请注意,请求将在不同的设备上执行。这是一个嵌入式应用程序,而不是云应用程序。

API 可以通过两种方式识别应用:

  1. 应用程序在调用 API 端点(仅用于读取 public 数据)时使用的 API 键,或

  2. 应用程序在调用各种端点时使用的凭据数据(即访问令牌)(仅用于读取与任何 YouTube 频道有关的 public 数据,或者 reading/updating/deleting public and/or 与授予相应应用程序操作权限的 YouTube account/channel 相关的私人数据。

因此,从 API 的角度来看,您是否 运行 N 应用程序的不同实例(即程序 运行 在具体的计算机上)。 API 说明了通过 Google 开发人员控制台创建的给定项目的配额消耗。

在共享 API 密钥 and/or 凭据数据的多台计算机上的应用程序(作为具体程序)运行 的上下文中,我强烈建议您熟悉内容DTOS 规格。

10,000 units/day 是基于项目的,而不是基于用户的。 IP 地址不会有任何影响。

如上图所示,每个用户每分钟的查询数是基于用户的,通过 ip 地址检测,发送 quotauser 参数连同请求或发送包含访问权限的授权 header令牌。

为了以这种方式绕过您的 10k 配额,您需要在 google 开发人员控制台上创建 100 个项目并为每个项目创建 credietnals,然后每个项目将有 10k 配额。然而,缺点是试图通过 google 验证过程获得 100 个项目。

如果您需要更多配额,您可以申请延长您的配额。

补充说明

  • API 密钥仅用于访问 public 数据并向 google
  • 标识您的应用程序
  • 用于创建访问令牌的客户端 ID 和客户端密码,一旦用户获得授权并且您发送访问令牌授权 header,将向 google 识别应用程序和用户你的要求。
  • quotaUser 和 userIp 参数只能用于某些 Google apis 的匿名请求,这最近发生了变化,我不确定它是否仍然适用于 YouTube api private电话。 userIp 允许您随请求发送任何 ip 地址,而 QuotaUser 允许您发送任何字符串,例如发出请求的用户的内部用户 ID。在过去,这允许针对每个用户配额进行一些黑客攻击/变通。

None 以上信息将对您真正有帮助,因为您试图绕过的配额是基于项目的配额,而不是基于用户的配额。它检测与您的客户端 ID / api 密钥关联的项目(取决于您使用的是什么)更改 IP 或在您的项目下生成新客户端不会有帮助。

真的只是请求更多配额