【问题标题】:How to get total of page views for each URL using the new Google Analytics Reports API如何使用新的 Google Analytics Reports API 获取每个 URL 的总页面浏览量
【发布时间】:2020-02-06 21:56:34
【问题描述】:

过去我使用此代码获取每个 URL 的总浏览量:

$optParams = array(
    'max-results' => 9999,
    'dimensions' => 'ga:pagePath',
    'sort' => 'ga:pagePath,ga:pageviews',
    'start-index'=>1,
);

$res= $analytics->data_ga->get(
    'ga:' . $profileId,
    '2011-01-01',
    'today',
    'ga:pageviews',
    $optParams);
    $rows=$res["rows"];

 print_r($rows);

但我发现旧版 Google Analytics API 存在问题。我在 Github they advised me to use the new Reporting API 报告了这个问题。

我测试了 API 文档中的一些示例,但我无法像使用旧 API 那样获得每个页面的总访问量。

我怎样才能做到这一点?

我正在实现这段代码:

function getReport($analytics) {

  // Replace with your view ID, for example XXXX.
  $VIEW_ID = "XXXXXXXX";

  // Create the DateRange object.
  $dateRange = new Google_Service_AnalyticsReporting_DateRange();
  $dateRange->setStartDate("2013-01-01");
  $dateRange->setEndDate("today");

  // Create the Metrics object.
  $sessions = new Google_Service_AnalyticsReporting_Metric();
  $sessions->setExpression("ga:pageviews");
  $sessions->setAlias("pageviews");

  // Create the ReportRequest object.
  $request = new Google_Service_AnalyticsReporting_ReportRequest();
  $request->setViewId($VIEW_ID);
  $request->setDateRanges($dateRange);
  $request->setMetrics(array($sessions));
//var_dump($request);
  $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  $body->setReportRequests( array( $request) );
  return $analytics->reports->batchGet( $body );
}

这会返回网站的总浏览量,但我想获得每个页面的总浏览量。

【问题讨论】:

  • 请编辑您的问题并描述您的代码有什么问题?有错误吗?那个代码
  • @DaImTo 我在问题末尾添加了代码。

标签: php google-api google-api-php-client google-reporting-api


【解决方案1】:

您需要添加一个 ga:pagePath 维度。

// Create the DateRange object.
$dateRange = new Google_Service_AnalyticsReporting_DateRange();
$dateRange->setStartDate("2011-01-01");
$dateRange->setEndDate("today");

// Create the Metrics object.
$sessions = new Google_Service_AnalyticsReporting_Metric();
$sessions->setExpression("ga:pageviews");
$sessions->setAlias("pageviews");

//Create the Dimensions object.
$pagePath = new Google_Service_AnalyticsReporting_Dimension();
$pagePath->setName("ga:pagePath");

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

$body = new Google_Service_AnalyticsReporting_GetReportsRequest();
$body->setReportRequests( array( $request) );
return $analyticsreporting->reports->batchGet( $body );

【讨论】:

  • 谢谢。使用此代码,我得到多个结果:[dimensions] => Array ( [0] => /?s=leccionario+biblico+patristico+ciclo+bienal ),但这不是 URL /?s=leccionario+biblico+patristico+ciclo+bienal。并且与 URL 的总浏览量无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多