谷歌Analytics(分析)管理API 500内部服务器错误(Google Analytics M

2019-09-28 21:35发布

我有得到谷歌Analytics(分析)元数据和统计数据的一对夫妇数十个谷歌的用户管理和报告API的应用程序。

一切顺利很长一段时间(几个月),但昨天21:00左右时UTC他们(用户)的一个开始收到此错误:500,后端错误或有时InternalError该

他的管理API请求:
让所有账户的反应是200与360项
获得所有网络媒体资源的响应是200与170项
得到所有配置文件的响应是200与1000个项目
得到所有响应的目标是500错误[应该是1000个项目,但现在的错误]

但还是收到这个错误现在(超过24小时)。

顺便说一句,报告API此客户端的正常工作太(对他的看法/ profile文件之一)

我的研究:
我一直在努力,不是所有的请求的目标,但对于一个特定帐户>特定属性>特定的配置文件,以及API响应是200 OK! 在这种情况下!
所有配置文件要求早些时候目标工作得很好,很长一段时间! 但不是今天。

Answer 1:

500和503的误差基本上切断负载的错误。 正在处理您的请求的服务器走上长期处理您的请求,因此超时。 你要记住,你不是唯一一个访问服务器。 它可以很容易地是东西,另一个开发是运行减慢您的请求并导致错误。

您应该实现指数退避 ,只是再次尝试请求。

顶提示:将不会对您与大家有一个cron作业设置为运行竞小时运行。 在午夜西成本。美国也运行时每个人的配额也重置不是一个好时机是击中服务器。

更新:

该团队想建议你在这个问题上张贴跟踪一个问题在这里 。 管理API团队可以看看它。 从添加谷歌开发者控制台帐户信息。 我会在添加问题的轮廓。 链接问题回到这里,我将它发送给他们。

如果您正在运行下面的请求,我认为你应该停止这真的不是意味着返回庞大的数字。

analytics.Management.Goals.List("~all", "~all", "~all");


Answer 2:

于是就预感我发现,似乎工作的解决方案。 这会失败(非常简化的):

var goalsList = analytics.Management.Goals.List("~all", "~all", "~all");
var goalsResult = goalsList.Execute();

这一切,一切,都让我想起了一些问题,我有我们的平台上。 所以,我想限制我的目标请求位。 首先是帐户ID,所以我得到了所有我们的帐户,然后环绕在他们拉组的目标,为每个。

这似乎工作。

...
var accountIds = GetAccountIds(analytics); 
foreach (var a in accountIds)
{
     do
     {
         var goalsList = analytics.Management.Goals.List(a, "~all", "~all");
...


Answer 3:

这个问题是站在他们一边解决由谷歌的团队! 谢谢!



文章来源: Google Analytics Management API 500 Internal Server Error