这是我第一次尝试使用Core Reporting API。我已经成功完成了Hello Analytics教程,并且没有任何问题地发出API请求。我的问题在于查询API以使用维度,指标和过滤器。下面是我正在使用的代码..我能够显示我在当月的第一天和当天之间有多少访问者。然后它显示有多少来自有机搜索。我希望有人可以给我一个关于使用更复杂的请求查询API的示例..可能包括Dimensions,Metrics,Filters ..然后在行中显示。任何帮助深表感谢。以下是我目前的代码......
//查询核心报告API
function getResults($analytics, $profileId, $first_day, $today) {
return $analytics->data_ga->get(
'ga:' . $profileId,
$first_day,
$today,
'ga:visits, ga:organicSearches');
}
//输出结果
function printResults(&$results) {
if (count($results->getRows()) > 0) {
$profileName = $results->getProfileInfo()->getProfileName();
$rows = $results->getRows();
$visits = $rows[0][0];
$organic = $rows[0][1];
print "<h1>$profileName</h1>";
echo '<table border="1" cellpadding="5">';
echo '<tr>';
echo '<td>Visits</td>';
echo '<td>Organic</td>';
echo '</tr>';
echo '<tr>';
echo '<td>'. $visits . '</td>';
echo '<td>'. $organic . '</td>';
echo '</td>';
echo '</table>';
} else {
print '<p>No results found.</p>';
}
}
答案 0 :(得分:3)
以下是代码:
$optParams = array(
'dimensions' => 'ga:date,ga:customVarValue1,ga:visitorType,ga:pagePath',
'sort' => '-ga:visits,ga:date',
'filters' => 'ga:visitorType==New',
'max-results' => '100');
$metrics = "ga:visits";
$results = $analytics->data_ga->get(
'ga:' . $profileId,
'2013-03-01',
'2013-03-10',
$metrics,
$optParams);
用于显示结果:
function getRows($results) {
$table = '<h3>Rows Of Data</h3>';
if (count($results->getRows()) > 0) {
$table .= '<table>';
// Print headers.
$table .= '<tr>';
foreach ($results->getColumnHeaders() as $header) {
$table .= '<th>' . $header->name . '</th>';
}
$table .= '</tr>';
// Print table rows.
foreach ($results->getRows() as $row) {
$table .= '<tr>';
foreach ($row as $cell) {
$table .= '<td>'
. htmlspecialchars($cell, ENT_NOQUOTES)
. '</td>';
}
$table .= '</tr>';
}
$table .= '</table>';
} else {
$table .= '<p>No results found.</p>';
}
return $table;
}
答案 1 :(得分:2)
这是api源中data_ga->get
函数的定义。
public function get($ids, $startDate, $endDate, $metrics, $optParams = array())
{
$params = array('ids' => $ids, 'start-date' => $startDate, 'end-date' => $endDate, 'metrics' => $metrics);
$params = array_merge($params, $optParams);
return $this->call('get', array($params), "Google_Service_Analytics_GaData");
}
完整参数列表为here
除了id,startdate,enddate和metrics之外的所有参数都是可选的,需要作为关联数组发送为get函数的第5个参数。