最近几天,我们遇到了从Google报告API返回的特定错误消息,该错误消息仅针对特定配置文件和特定IP引发。 当我们询问下一个请求时:
curl -H "Authorization: Bearer <AccessToken>" -X GET "https://www.googleapis.com/analytics/v3/data/ga?max-results=2000&dimensions=ga%3Ahour%2Cga%3Adate&start-date=2019-08-03&start-index=1&ids=<ga:Profile>&metrics=ga%3Asessions%2Cga%3ApageviewsPerSession&samplingLevel=HIGHER_PRECISION&filters=ga%3AlandingPagePath%3D%7Elongform%3Bga%3AsourceMedium%21%7Ehouse_ad&alt=json&end-date=2019-08-05"
响应是代码403,下一个错误:
Quota Error: Number of recent failed reporting API requests is too high, please implement exponential back off.\nSee developer documentation for details at ...
我必须说我们有一个指数级的退避机制,并添加了随机抖动。
更奇怪的是,当从另一个IP发出请求时,请求成功进行。相同的请求,相同的配置文件。我们没有在Google控制台中看到任何超出配额的信息。不是每100秒的userId,不是项目的,也不是配置文件的。
因此,我们想知道什么是局限性以及它是如何工作的。配额和限制文档以及错误说明未提及此类错误。我们无法确定什么用户-这是IP吗?用户已连接(令牌)?个人资料?两者结合?
目前尚不清楚,我们无法确定问题所在。在这里,请求(和工作)的IP更改也非常可疑,这使得限制和配额更加难以理解。
在这种情况下我们该怎么办?我们如何避免呢?在这种情况下,我们如何查看和记录配额?
谢谢
阿隆