Analytics API网站内容的平均会话时长? - php

我想使用每天与cron作业一起运行的Analytics API和PHP脚本,以检查访问者在我的内容上的会话时长。这些内容网站是这样的:

domain.com/e/3747634

domain.com/e/7843735
...

目的是,如果我发现会话持续时间低于5秒,则表明该流量是虚假流量,因此我可以禁止此页面。
这是我的代码的相关部分,之前是身份验证部分,但这有效并且不是那么重要。

 //calulating start date
$date = new DateTime(date("Y-m-d"));
$date->sub(new DateInterval('P1D'));

//Adding Dimensions
$params = array('dimensions' => 'ga:userType');
// requesting the data
$data = $service->data_ga->get("ga:xxxxxxxx", $date->format('Y-m-d'),  date("Y-m-d"), "ga:users,ga:sessions", $params );


?><html>
<?php echo $date->format('Y-m-d') . " - ".date("Y-m-d"). "\n";?>
<table>
<tr>
<?php
//Printing column headers
foreach($data->getColumnHeaders() as $header){  
    print "<td>".$header['name']."</td>";   
}
?>
</tr>
<?php
//printing each row.
foreach ($data->getRows() as $row) {    
    print "<tr><td>".$row[0]."</td><td>".$row[1]."</td><td>".$row[2]."</td></tr>";  
}

//printing the total number of rows
?>
<tr><td colspan="2">Rows Returned <?php print $data->getTotalResults();?> </td></tr>
</table>
</html>
<?php

?>

显示:

2015-09-02 - 2015-09-03
ga:userType      ga:users ga:sessions
New Visitor        127108 127108
Returning Visitor  5849   13252
Rows Returned 2

如何获得每个内容页面上访问者的平均会话持续时间? (今天”)

参考方案

看一下dimensions and metric explorer,但我想您要做的就是对您的代码进行以下更改:

//Adding Dimensions
$params = array('dimensions' => 'ga:pagepath'); 
// requesting the data
$data = $service->data_ga->get("ga:xxxxxxxx", $date->format('Y-m-d'),    date("Y-m-d"), "ga:avgSessionDuration", $params );

此外,query explorer是一个很好的资源,可用于尝试从API请求各种尺寸和指标。

45码