Я использую v4 версию API отчетов и имею функцию, которая создает нужный мне отчет. Единственная проблема, с которой я сталкиваюсь, — это найти способ получить отчетные даты из другой функции.
function getReport($analytics, $start_date, $end_date) {
// Replace with your view ID, for example XXXX.
$VIEW_ID = "XXXXXXX";
// Create the DateRange object.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("$start_date");
$dateRange->setEndDate("$end_date");
// Create the Metrics object.
$transactionRevenue = new Google_Service_AnalyticsReporting_Metric();
$transactionRevenue->setExpression("ga:transactionRevenue");
$transactionRevenue->setAlias("Revenue");
$transID = new Google_Service_AnalyticsReporting_Dimension();
$transID->setName('ga:transactionId');
$campaign = new Google_Service_AnalyticsReporting_Dimension();
$campaign->setName('ga:campaign');
$date = new Google_Service_AnalyticsReporting_Dimension();
$date->setName('ga:date');
$camFil = new Google_Service_AnalyticsReporting_DimensionFilter();
$camFil->setDimensionName('ga:campaign');
$camFil->setExpressions(array('.*[^0-9].*'));
$camFil->setOperator('REGEXP');
$dimensionFilterClause = new Google_Service_AnalyticsReporting_DimensionFilterClause();
$dimensionFilterClause->setOperator('AND');
$dimensionFilterClause->setFilters(array($camFil));
// Create the ReportRequest object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId($VIEW_ID);
$request->setDateRanges($dateRange);
$request->setMetrics(array($transactionRevenue));
$request->setDimensions(array($date, $transID, $campaign, $medium, $source));
$request->setSamplingLevel('LARGE');
$request->setDimensionFilterClauses($dimensionFilterClause);
$request->setPageSize(10000);
$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array($request) );
return $analytics->reports->batchGet( $body );
}
В настоящий момент я снова передаю дату начала и дату окончания, чтобы можно было разбить диапазон дат, если результат будет выбран. Проблема с передачей даты заключается в том, что функция ниже должна быть изменена всякий раз, когда я хочу передать новый параметр в getReport.
getFullResults( $analytics, $start_date, $end_date );
Кто-нибудь еще использовал API отчетности GA и видел, хранят ли они дату в результатах? Единственное, что я нашел, это минимальное и максимальное значения, но не уверен, какой формат использовать.
["minimums"]=>
array(1) {
[0]=>
array(1) {
["values"]=>
array(1) {
[0]=>
string(3) "0.0"}
}
}
["maximums"]=>
array(1) {
[0]=>
array(1) {
["values"]=>
array(1) {
[0]=>
string(8) "48780.59"}
}
}
Задача ещё не решена.
Других решений пока нет …