gpt4 book ai didi

php - Google Analytics(分析)报告使用两个日期范围

转载 作者:行者123 更新时间:2023-12-03 16:15:42 28 4
gpt4 key购买 nike

在适用于PHP的Google Analytics(分析)Reporting API的v4中,文档说明已添加支持,以便在一个请求中指定两个日期范围:


该请求最多可以有2个日期范围


但是,在没有手动创建整个请求JSON的情况下,我看不到任何如何添加两个日期范围的示例(即,我使用的是Google quick start guide中概述的功能方法)。在指南中,日期范围是由以下方式确定的:

$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("STARTING_DATE");
$dateRange->setEndDate("ENDING_DATE");


在许多函数中,只需添加一个数组即可添加要设置的附加值,因此我尝试了以下操作,但它无效:

$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate(array("START_ONE", "START_TWO"));
$dateRange->setEndDate(array("END_ONE", "END_TWO"));


作为最后的努力,我尝试将值格式化为JSON以符合创建的JSON请求对象,但这仍然无效:

$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("{startDate: START_ONE, startDate: START_TWO}");
$dateRange->setEndDate("{endDate: END_ONE, endDate: END_TWO}");


如果有人指出我出了问题的地方,或者甚至可以通过使用函数使用两个日期范围,那将大有帮助。

最佳答案

multiple date ranges sample中一样,创建两个日期范围对象

// Create DateRange objects.
$march = new Google_Service_AnalyticsReporting_DateRange();
$march->setStartDate("2015-03-01");
$march->setEndDate("2015-03-31");

$january = new Google_Service_AnalyticsReporting_DateRange();
$january->setStartDate("2015-01-01");
$january->setEndDate("2015-01-31");

...

// Create the ReportRequest object.
$request = new Google_Service_AnalyticsReporting_ReportRequest();
$request->setViewId("XXXX");
$request->setDateRanges(array($march, $january));
$request->setDimensions(array($browser));
$request->setMetrics(array($sessions));


请注意,不打算在 ga:date中使用多个日期范围。要读取结果,您需要访问响应中的两个字段:

function printResults(&$reports) {
for ( $reportIndex = 0; $reportIndex < count( $reports ); $reportIndex++ ) {
$report = $reports[ $reportIndex ];
$header = $report->getColumnHeader();
$dimensionHeaders = $header->getDimensions();
$metricHeaders = $header->getMetricHeader()->getMetricHeaderEntries();
$rows = $report->getData()->getRows();

for ( $rowIndex = 0; $rowIndex < count($rows); $rowIndex++) {
$row = $rows[ $rowIndex ];
$dimensions = $row->getDimensions();
$metrics = $row->getMetrics();
for ($i = 0; $i < count($dimensionHeaders) && $i < count($dimensions); $i++) {
print($dimensionHeaders[$i] . ": " . $dimensions[$i] . "\n");
}

for ($j = 0; $j < count($metrics); $j++) {
$values = $metrics[$j]->getValues();
for ($k = 0; $k < count($values); $k++) {
$entry = $metricHeaders[$k];
print($entry->getName() . ": " . $values[$k] . "\n");
}
}
}
}
}

关于php - Google Analytics(分析)报告使用两个日期范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44785869/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com