Google PHP API 分析给出了奇怪的 userRateLimitExceeded

Google PHP API Analytics gives strange userRateLimitExceeded

自从 GAPI 两天前停止工作后,我不得不为我的 Google 分析仪表板重写一些代码。 我决定使用 Google API PHP 客户端 (https://github.com/google/google-api-php-client) 我在本地 Vagrant Ubuntu 服务器上运行得非常好,但是当我将代码部署到我的远程网络服务器时,出现 500 PHP 错误。检查日志时,我发现它创建的错误消息是

(403) Quota Error: User Rate Limit Exceeded.

这段代码怎么能在我的 Vagrant 上运行而不在我的远程网络服务器上运行?域都已正确添加到开发人员控制台。我尝试将 query/user/second-setting 设置为 10 或更多,但这并没有改变任何东西。

做了同样的事情(从 GAPI 切换到 Google API PHP 客户端)但没有任何问题。根据 Google Analytics documentation403 userRateLimitExceeded 错误意味着:

The user rate limit has been exceeded. The maximum rate limit is 10 qps per IP address. The default value set in Google Developers Console is 1 qps per IP address. You can increase this limit in the Google Developers Console to a maximum of 10 qps.

显然有问题,因为我确定您没有超出这些限制 - 但它可能与您使用的 IP 地址(例如本地主机)有关。不是专家,但您可能需要检查以下几件事:

在应用程序的 Google 开发者控制台中,访问:

  • APIs & Auth -> Analytics API -> Usage: 确保这看起来正常(你正在做的事情可能是调用 API 重复确保不是这种情况)
  • APIs & Auth -> Analytics API -> Quotas: 如果 Google 认为您超出了配额,将会告诉您.增加 Per user Limit(最后一项)并查看是否有效
  • APIs & Auth -> APIs: 显然确保 Analytics API 已启用(无法想象不是,只是检查)

好的,所以我修复了它:

我加了一个sleep(1);进入查询我帐户中的 Google Analytics 配置文件的 PHP foreach 循环。显然我的 VPS 查询 Google 的 API 比我的本地开发环境更快,因此我在本地没有收到任何错误。