Google 分析报告 API v4 returns 503 次数过多,原因不明

Google Analytics Report API v4 returns 503 too many times without obvious reasons

每天早上我们都会从 Google Analytics Reporting API v4 中获取前一天/前一周的电子商务产品数据。三年来我们一直在做同样的事情,报告格式没有改变。我们想要获取的时间范围可以有多个。

这是一个示例请求。我们使用“pageToken”参数分页的总行数最多可达 500k。我们按顺序执行此操作。

{
   "reportRequests":[
      {
         "metrics":[
            {
               "expression":"ga:productListViews"
            },
            {
               "expression":"ga:productListClicks"
            },
            {
               "expression":"ga:productDetailViews"
            },
            {
               "expression":"ga:productAddsToCart"
            },
            {
               "expression":"ga:quantityAddedToCart"
            },
            {
               "expression":"ga:productRemovesFromCart"
            },
            {
               "expression":"ga:quantityRemovedFromCart"
            },
            {
               "expression":"ga:productCheckouts"
            },
            {
               "expression":"ga:quantityCheckedOut"
            },
            {
               "expression":"ga:uniquePurchases"
            }
         ],
         "hideTotals":true,
         "dimensions":[
            {
               "name":"ga:productSku"
            },
            {
               "name":"ga:productBrand"
            },
            {
               "name":"ga:dimension1"
            }
         ],
         "pageSize":3000,
         "includeEmptyRows":true,
         "viewId":"169501676",
         "dateRanges":[
            {
               "startDate":"2020-08-17",
               "endDate":"2020-08-17"
            }
         ],
         "pageToken":"210000",
         "hideValueRanges":true
      },
      {
         "metrics":[
            {
               "expression":"ga:itemQuantity"
            },
            {
               "expression":"ga:itemRevenue"
            }
         ],
         "hideTotals":true,
         "dimensions":[
            {
               "name":"ga:productSku"
            },
            {
               "name":"ga:productBrand"
            },
            {
               "name":"ga:dimension1"
            }
         ],
         "pageSize":3000,
         "includeEmptyRows":true,
         "viewId":"169501676",
         "dateRanges":[
            {
               "startDate":"2020-08-17",
               "endDate":"2020-08-17"
            }
         ],
         "pageToken":"210000",
         "hideValueRanges":true
      }
   ]
}

最近API随机returns了很多503错误。我们检查了此页面,它建议我们为 1s、2s、4s、8s、16s 实施指数退避。我们正在执行 2h、2h、2h、2h、2h,而不是建议的间隔,但错误仍然存​​在。 https://developers.google.com/analytics/devguides/reporting/core/v3/errors#handling_500_or_503_responses

我们已经检查了配额和限制,很确定我们没有超过它们。 https://developers.google.com/analytics/devguides/reporting/core/v4/limits-quotas (不能 post 图片没有 10 个信誉)

https://i.stack.imgur.com/jlZzV.png

https://i.stack.imgur.com/4q605.png

https://i.stack.imgur.com/2qTBI.png

如果重要,所有请求 运行 Google App Engine python2 标准环境。

尝试减少或拆分报告请求,这种错误可能会在重负载或更大更复杂的请求时出现。

由于即使在拆分请求和增加请求之间的延迟之后错误率仍在上升,我们最终放弃了 Google 分析并自行收集数据