Google 分析 API 优化

Google analytics API optimization

我正在开发一个需要将 google 分析 API 与 PHP 集成的应用程序。 这是 API 文档 Google Analytics Core Reporting API 的 link,目前我正面临过载问题。

在我们的应用程序中,我们需要为选定的日期范围形成一个图表。例如会话计数。 API 可以选择开始和结束数据等参数,但作为响应,它仅提供平均/总会话计数/页面加载时间。但是为了生成图表,我们确实需要给定日期范围内每一天的数据。例如2015 年 1 月 1 日至 1 月 30 日,对于这种情况,我们必须每天发送 30 个请求并使用此方法获取图表数据。有没有什么方法可以减少请求数或获取日期格式的数据?

我们正在收集许多指标,例如平均页面加载时间、有机会话等,这使得它在页面加载时向 google API 本身发出 180-210 次请求,有时它会抛出一个错误google.

的资源利用率过高

您可以添加 ga:date dimension。它将分解日期范围内每个日期的每个指标的值:

在JSON

{
  "reportRequests": 
  [
    {
      "dimensions": 
      [
        {
          "name": "ga:date"
        }
      ],
      "metrics": 
      [
        {
          "expression": "ga:sessions"
       },
        {
          "expression": "ga:avgpageloadtime"
        }
      ],
      "viewId": "XXXX",
      "dateRanges": 
      [
        {
          "startDate": "7daysAgo",
          "endDate": "yesterday"
        }
      ]
    }
  ]
}

在PHP

// Create the DateRange object.
$dateRange = new Google_Service_Analyticsreporting_DateRange();
$dateRange->setStartDate("7DaysAgo");
$dateRange->setEndDate("yesterday");

// Create the Metrics objects.
$sessions = new Google_Service_Analyticsreporting_Metric();
$sessions->setExpression("ga:sessions");
$avgpageloadtime = new Google_Service_Analyticsreporting_Metric();
$avgpageloadtime->setExpression("ga:avgpageloadtime");

//Create the Dimensions object.
$date = new Google_Service_Analyticsreporting_Dimension();
$date->setName("ga:date");

// Create the ReportRequest object.
$request = new Google_Service_Analyticsreporting_ReportRequest();
$request->setViewId("XXXX");
$request->setDateRanges($dateRange);
$request->setDimensions(array($date));
$request->setMetrics(array($sessions, $avgpageloadtime));

$body = new Google_Service_Analyticsreporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analyticsreporting->reports->batchGet( $body );