Google Analytics Reporting API V4的结果为零


Zero results in Google Analytics Reporting API V4?

使用用于PHP的v4 API,我注意到零结果不会在结果中显示为行。

在使用ga:aavgSessionDuration度量和ga:date维度1周的情况下,平均会话持续时间为0的天数不会在数据中返回,因此我没有一整周的时间来绘制图表。

根据文档,v3将返回0行,并且在查询资源管理器中,零值会显示出来,因为它们使用的是v3 API。但v4似乎没有,至少没有额外的配置,除非我错过了什么。

其他人遇到过这种情况吗?有解决方案吗?

V3 include-empty-rows参数对应于V4中的includeEmptyRows字段。V3参数默认为true,而在V4中,字段默认为false。如果在V3中没有设置该值,则需要在V4中将该值设置为true。

以下示例显示如何将includeEmptyRows设置为True:

PHP

// Create the Metrics object.
$avgsessionduration = new Google_Service_Analyticsreporting_Metric();
$avgsessionduration->setExpression("ga:avgSessionDuration");
//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->setDimensions(array($date));
$request->setMetrics(array($avgsessionduration));
$request->setIncludeEmptyRows(true); // <-- Ensure this value to be true.
// Construct the request body.
$body = new Google_Service_Analyticsreporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analyticsreporting->reports->batchGet( $body );

JSON

{
  "reportRequests":[
  {
    "viewId":"XXXX",
    "metrics":[{"expression":"ga:avgSessionDuration"}],
    "dimensions": [{"name":"ga:date"}],
    "includeEmptyRows": "true"
  }]
}

有关从核心报告API V3迁移到分析报告API V4的详细信息,请参阅迁移指南。