在 Google 分析 API 中获取函数

Get function in Google Analytics API

我正在尝试使用分析 API 获取一些数据,我的示例是这样的:

function getResults(&$analytics, $profileId) {
// Calls the Core Reporting API and queries for the number of sessions
// for the last seven days.
return $analytics->data_ga->get(
'ga:' . $profileId,
'7daysAgo',
'today',
'ga:sessions');
}

Analytics.php 文件中的函数是:

public function get($ids, $metrics, $optParams = array())
  {
    $params = array('ids' => $ids, 'metrics' => $metrics);
    $params = array_merge($params, $optParams);
    return $this->call('get', array($params), "Google_Service_Analytics_RealtimeData");
  }
}

如何使该示例适应 return 某些维度以及会话,例如 pagePath?

谢谢

我有点不熟悉 php 语法,但您可以在查询时在参数中指定维度类型,例如您可以尝试

$params = array('ids' => $ids, 'metrics' => $metrics, 'dimensions' => 'rt:pagePath')

有关详细信息,请参阅官方 dimensions and metrics 资源管理器

所以这个问题有点不清楚,但是你问题的第一部分是正确的,这个例子有效并且是从 Google Analytics API 获取数据的方法。但是,您不需要触摸或修改 Analytics.php。

您的代码应如下所示:

$ga_profile_id = xxxxxxx; // insert yours
$from = date('Y-m-d', time()-2*24*60*60); // last 2 days
$to = date('Y-m-d'); // today

$metrics = 'ga:visits,ga:visitors,ga:pageviews';
$dimensions = 'ga:date';
$sort = "-ga:visits";
$data = $service->data_ga->get('ga:'.$ga_profile_id, $from, $to, $metrics, array('dimensions' => $dimensions,'sort'=>$sort));

这些是您入门所需的所有基本要素。访问 https://developers.google.com/analytics/devguides/reporting/core/v3/common-queries 获取常见查询方法列表。将上面示例中的指标、维度和排序参数替换为此处列出的参数,以 运行 它们涵盖的常见报告场景。

Analytics API Query explorer (https://ga-dev-tools.appspot.com/query-explorer/) 非常适合使用,发现指标和维度名称。例如,您会发现页面路径的 维度 是:ga:pagePath

那么,例如,如果您想通过页面路径 访问和综合浏览量 ,您只需在代码中插入正确的参数,您就会得到类似这个:

$ga_profile_id = xxxxxx; //insert yours here
$from = date('Y-m-d', time()-2*24*60*60); // last 2 days
$to = date('Y-m-d'); // today

$metrics = 'ga:visits,ga:pageviews';
$dimensions = 'ga:pagePath';
$sort = "-ga:visits";
$data = $service->data_ga->get('ga:'.$ga_profile_id, $from, $to, $metrics, array('dimensions' => $dimensions,'sort'=>$sort));

这基本上意味着: 获取指标 visits 和 pageviews,使用 page path 作为维度,并按 visits 排序 -在过去的 2 天里!希望这一切都有意义。