编程语言
首页 > 编程语言> > php-Google Analytics(分析)API优化

php-Google Analytics(分析)API优化

作者:互联网

我正在开发一个需要将Google Analytics API与PHP集成的应用程序.
这是API文档Google Analytics Core Reporting API的链接,当前我面临重载问题.

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

我们正在收集许多指标,例如“平均页面加载时间”,“自然会话次数”等,这使得Google API本身在页面加载时请求180-210.有时会引发错误,表明Google过多利用了资源.

解决方法:

您可以添加ga:datedimension.它将细分日期范围内每个日期的每个指标的值:

在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 );

标签:laravel,laravel-5,google-analytics,google-analytics-api,php
来源: https://codeday.me/bug/20191118/2030099.html