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